libfirm
16 years agoBugFix: add missing assure_cf_loop() for copy graphs
Michael Beck [Fri, 9 May 2008 02:10:13 +0000 (02:10 +0000)]
BugFix: add missing assure_cf_loop() for copy graphs

[r19571]

16 years ago- improve doxygen comments
Michael Beck [Fri, 9 May 2008 02:01:42 +0000 (02:01 +0000)]
- improve doxygen comments
- simplify code a bit

[r19570]

16 years agoinline_functions now inlines calls inside loops first
Michael Beck [Fri, 9 May 2008 01:56:42 +0000 (01:56 +0000)]
inline_functions now inlines calls inside loops first

[r19569]

16 years agoBugFix r19562: get_nodes_block(skip_Proj(get_irn_n(n,i))) is subtile
Michael Beck [Fri, 9 May 2008 01:49:13 +0000 (01:49 +0000)]
BugFix r19562: get_nodes_block(skip_Proj(get_irn_n(n,i))) is subtile
different from get_Block_cfgpred_block(): the latter might return Bad, while
the first returns the Start block then ...
Strange, but cf loops depend on this which os probably wrong, ARGHH!

[r19568]

16 years agoImprove scheduling: ignore keeps, sort roots by height.
Christoph Mallon [Thu, 8 May 2008 08:53:18 +0000 (08:53 +0000)]
Improve scheduling: ignore keeps, sort roots by height.

[r19563]

16 years ago- added assure_cf_loop()
Michael Beck [Wed, 7 May 2008 23:21:29 +0000 (23:21 +0000)]
- added assure_cf_loop()
- improved doxygen docu
- cleared the code a bit

[r19562]

16 years agoreordered struct for smaller memory print on 64bit
Michael Beck [Wed, 7 May 2008 23:19:08 +0000 (23:19 +0000)]
reordered struct for smaller memory print on 64bit

[r19561]

16 years agodo not count Const/SymConst CSE
Michael Beck [Wed, 7 May 2008 15:35:02 +0000 (15:35 +0000)]
do not count Const/SymConst CSE

[r19554]

16 years ago- add dumping of indirect/external calls
Michael Beck [Wed, 7 May 2008 02:32:30 +0000 (02:32 +0000)]
- add dumping of indirect/external calls
- replace -> by = for better TeX output

[r19542]

16 years agotypos fixed
Michael Beck [Wed, 7 May 2008 01:14:27 +0000 (01:14 +0000)]
typos fixed

[r19541]

16 years agooutputs the layout type for yComp, makes nicer yComp dumps
Michael Beck [Tue, 6 May 2008 21:27:54 +0000 (21:27 +0000)]
outputs the layout type for yComp, makes nicer yComp dumps

[r19539]

16 years ago- add ir_graph to loop element, preventing the ugly casting
Michael Beck [Tue, 6 May 2008 21:24:54 +0000 (21:24 +0000)]
- add ir_graph to loop element, preventing the ugly casting

[r19538]

16 years ago- add ir_graph to loop element, preventing the ugly casting
Michael Beck [Tue, 6 May 2008 21:23:28 +0000 (21:23 +0000)]
- add ir_graph to loop element, preventing the ugly casting

[r19537]

16 years agomark start end end blocks
Michael Beck [Tue, 6 May 2008 13:00:09 +0000 (13:00 +0000)]
mark start end end blocks

[r19531]

16 years agoupdated for new optimization
Michael Beck [Tue, 6 May 2008 12:56:59 +0000 (12:56 +0000)]
updated for new optimization

[r19530]

16 years agomissing entry added
Michael Beck [Mon, 5 May 2008 11:42:16 +0000 (11:42 +0000)]
missing entry added

[r19515]

16 years agoadd a parameter to limit the maximum size of methods when inlining, otherwise some...
Michael Beck [Mon, 5 May 2008 10:46:08 +0000 (10:46 +0000)]
add a parameter to limit the maximum size of methods when inlining, otherwise some files explode

[r19511]

16 years agofixed comment
Michael Beck [Mon, 5 May 2008 10:43:43 +0000 (10:43 +0000)]
fixed comment

[r19510]

16 years agoredo wrong 19491: DIV and IDIV are different
Michael Beck [Sun, 4 May 2008 00:43:18 +0000 (00:43 +0000)]
redo wrong 19491: DIV and IDIV are different

[r19502]

16 years ago- fixed r19477: pin_state MUST be the first attribute
Michael Beck [Sat, 3 May 2008 18:16:43 +0000 (18:16 +0000)]
- fixed r19477: pin_state MUST be the first attribute

[r19499]

16 years agoreduce code size
Michael Beck [Fri, 2 May 2008 20:56:20 +0000 (20:56 +0000)]
reduce code size

[r19491]

16 years ago- reduce lifetime of variables
Michael Beck [Fri, 2 May 2008 19:24:38 +0000 (19:24 +0000)]
- reduce lifetime of variables

[r19490]

16 years ago- reorder if to place cheapest test first
Michael Beck [Fri, 2 May 2008 18:01:21 +0000 (18:01 +0000)]
- reorder if to place cheapest test first
- reduce lifetime of two variables

[r19488]

16 years agouse mode_xmm where appropriate
Michael Beck [Fri, 2 May 2008 00:48:42 +0000 (00:48 +0000)]
use mode_xmm where appropriate

[r19484]

16 years agouse mode_xmm where appropriate
Michael Beck [Thu, 1 May 2008 23:57:25 +0000 (23:57 +0000)]
use mode_xmm where appropriate

[r19483]

16 years ago- transfor xorps r,r and xorpd r,r into pxor on netburst CPU's
Michael Beck [Thu, 1 May 2008 20:32:11 +0000 (20:32 +0000)]
- transfor xorps r,r and xorpd r,r into pxor on netburst CPU's

[r19482]

16 years ago- renamed SymConst num attribute into more logical kind
Michael Beck [Wed, 30 Apr 2008 19:59:49 +0000 (19:59 +0000)]
- renamed SymConst num attribute into more logical kind
- reordered some struct attributes for better 64bit memory layout

[r19477]

16 years agocorrect fix for benode comparison
Matthias Braun [Wed, 30 Apr 2008 12:16:02 +0000 (12:16 +0000)]
correct fix for benode comparison

[r19469]

16 years agoforgot to commit rbitset_requal
Matthias Braun [Wed, 30 Apr 2008 12:07:30 +0000 (12:07 +0000)]
forgot to commit rbitset_requal

[r19468]

16 years agoavoid dangerous use of memcmp
Matthias Braun [Wed, 30 Apr 2008 12:05:02 +0000 (12:05 +0000)]
avoid dangerous use of memcmp

[r19467]

16 years agoadd a comment that memcmp is not hostile here
Michael Beck [Wed, 30 Apr 2008 11:50:20 +0000 (11:50 +0000)]
add a comment that memcmp is not hostile here

[r19466]

16 years agodon't use memcmp for tarval comparison, there might be padding bytes with random...
Matthias Braun [Wed, 30 Apr 2008 11:47:02 +0000 (11:47 +0000)]
don't use memcmp for tarval comparison, there might be padding bytes with random content

[r19465]

16 years agofix 64bit warnings
Michael Beck [Tue, 29 Apr 2008 16:37:50 +0000 (16:37 +0000)]
fix 64bit warnings

[r19454]

16 years agofix 64bit warnings
Michael Beck [Tue, 29 Apr 2008 16:12:15 +0000 (16:12 +0000)]
fix 64bit warnings

[r19451]

16 years agofix 64bit warnings
Michael Beck [Tue, 29 Apr 2008 15:18:36 +0000 (15:18 +0000)]
fix 64bit warnings

[r19450]

16 years agoBugFix: ls_mode must be set to Iu when transforming float stores to int stores
Michael Beck [Tue, 29 Apr 2008 10:03:28 +0000 (10:03 +0000)]
BugFix: ls_mode must be set to Iu when transforming float stores to int stores

[r19431]

16 years agotransform stores of floating point constants into integer stores
Michael Beck [Mon, 28 Apr 2008 19:03:09 +0000 (19:03 +0000)]
transform stores of floating point constants into integer stores

[r19425]

16 years agoWhen transforming floating point constants into load AM, use the mode of the entity...
Christoph Mallon [Mon, 28 Apr 2008 12:04:39 +0000 (12:04 +0000)]
When transforming floating point constants into load AM, use the mode of the entity as ls_mode instead of the mode of the constant node.

[r19412]

16 years ago- when creating a x87 memory constant, check if the constant can be created using...
Michael Beck [Sun, 27 Apr 2008 14:20:05 +0000 (14:20 +0000)]
- when creating a x87 memory constant, check if the constant can be created using less bits without precision loss

[r19406]

16 years ago- added fc_can_lossless_conv_to() / tarval_ieee754_can_conv_lossless()
Michael Beck [Sun, 27 Apr 2008 14:18:26 +0000 (14:18 +0000)]
- added fc_can_lossless_conv_to() / tarval_ieee754_can_conv_lossless()
- BugFix: the buffer REALLY must been cleared in fc_val_from_ieee754()
- replaced the constant 2 by ROUNDING_BITS
- replaced division in exponent bias calculation
- replaced assert(0) by panic()
- add panic when tarval_carry() is used (not fully implemented)
- improved doxygen docu

[r19405]

16 years agoallow Cmp, Neg, Abs for floating point even if no_float is set: these Operations...
Michael Beck [Sat, 26 Apr 2008 17:22:18 +0000 (17:22 +0000)]
allow Cmp, Neg, Abs for floating point even if no_float is set: these Operations should be safe as they cannot produce more mantissa bits

[r19400]

16 years agofixed warning
Michael Beck [Sat, 26 Apr 2008 16:25:15 +0000 (16:25 +0000)]
fixed warning

[r19398]

16 years ago- BugFix:
Michael Beck [Sat, 26 Apr 2008 16:22:36 +0000 (16:22 +0000)]
- BugFix:
when creating vfldz nodes for float unknown, place them after the frame pointer so they could be spilled ...

[r19397]

16 years agoGive some node inputs more meaningful names.
Christoph Mallon [Wed, 23 Apr 2008 12:17:54 +0000 (12:17 +0000)]
Give some node inputs more meaningful names.

[r19369]

16 years agoMove the if-not-AM-input of ia32 Div and IDiv to slot 3 to make it more unop-like.
Christoph Mallon [Wed, 23 Apr 2008 11:58:34 +0000 (11:58 +0000)]
Move the if-not-AM-input of ia32 Div and IDiv to slot 3 to make it more unop-like.

[r19368]

16 years agoSet SVN properties.
Christoph Mallon [Wed, 23 Apr 2008 11:41:59 +0000 (11:41 +0000)]
Set SVN properties.

[r19367]

16 years agoInclude stdlib.h for atoi().
Christoph Mallon [Wed, 23 Apr 2008 11:37:10 +0000 (11:37 +0000)]
Include stdlib.h for atoi().

[r19365]

16 years agoFix logic error in IncSP-to-Push/Pop optimisation, which caused the optimisation...
Christoph Mallon [Tue, 22 Apr 2008 14:51:17 +0000 (14:51 +0000)]
Fix logic error in IncSP-to-Push/Pop optimisation, which caused the optimisation to be performed exactly when it was NOT requested.

[r19361]

16 years agoFix return value of main().
Christoph Mallon [Tue, 22 Apr 2008 14:44:04 +0000 (14:44 +0000)]
Fix return value of main().

[r19359]

16 years agoFix inconsistency between reg_req and ins of Push: reg_req expected the stack in...
Christoph Mallon [Tue, 22 Apr 2008 14:41:59 +0000 (14:41 +0000)]
Fix inconsistency between reg_req and ins of Push: reg_req expected the stack in the fourth place and val as fith, ins said "val" before "stack".  Make the val parameter fourth and stack last to be more consistent with most other AM nodes.

[r19358]

16 years agoPanic when right shifting non-32bit values.
Christoph Mallon [Mon, 21 Apr 2008 14:20:18 +0000 (14:20 +0000)]
Panic when right shifting non-32bit values.

[r19349]

16 years ago- more SSE constants handled by instructions
Michael Beck [Mon, 21 Apr 2008 00:22:07 +0000 (00:22 +0000)]
- more SSE constants handled by instructions

[r19345]

16 years ago- moved the imul mem,imm32 splitting into peephole optimizations
Michael Beck [Sun, 20 Apr 2008 23:49:53 +0000 (23:49 +0000)]
- moved the imul mem,imm32 splitting into peephole optimizations
- instead of issuing a rep ret, issue a ret 0 as recommended in k10 optimization manual

[r19344]

16 years agotypo fixed
Michael Beck [Sun, 20 Apr 2008 23:45:43 +0000 (23:45 +0000)]
typo fixed

[r19343]

16 years agomore SSE constants handled without float_entity
Michael Beck [Sun, 20 Apr 2008 02:20:16 +0000 (02:20 +0000)]
more SSE constants handled without float_entity

[r19341]

16 years ago- add optimisation for size
Michael Beck [Sat, 19 Apr 2008 23:58:08 +0000 (23:58 +0000)]
- add optimisation for size

[r19340]

16 years ago- don't dump alignment 0
Michael Beck [Sat, 19 Apr 2008 23:54:53 +0000 (23:54 +0000)]
- don't dump alignment 0

[r19339]

16 years ago- added alignment_label_max_skip
Michael Beck [Sat, 19 Apr 2008 21:27:14 +0000 (21:27 +0000)]
- added alignment_label_max_skip

[r19338]

16 years agofix r19298: offsets must be fixed for PopMem
Michael Beck [Sat, 19 Apr 2008 21:21:54 +0000 (21:21 +0000)]
fix r19298: offsets must be fixed for PopMem

[r19337]

16 years agosyntay error fixed
Michael Beck [Sat, 19 Apr 2008 17:56:41 +0000 (17:56 +0000)]
syntay error fixed

[r19336]

16 years ago- handle failure of getpwuid() more gracefully
Michael Beck [Sat, 19 Apr 2008 17:55:32 +0000 (17:55 +0000)]
- handle failure of getpwuid() more gracefully

[r19335]

16 years agoalways align blocks if there is no fall-through
Michael Beck [Sat, 19 Apr 2008 17:05:00 +0000 (17:05 +0000)]
always align blocks if there is no fall-through

[r19334]

16 years agoreorganized cpu's, architectures, and features, hopefully more logical now (and possi...
Michael Beck [Sat, 19 Apr 2008 17:03:18 +0000 (17:03 +0000)]
reorganized cpu's, architectures, and features, hopefully more logical now (and possibly better working)

[r19333]

16 years agofixed indentation
Michael Beck [Sat, 19 Apr 2008 12:40:57 +0000 (12:40 +0000)]
fixed indentation

[r19332]

16 years agodo not pad return after a fall-through Jmp
Michael Beck [Sat, 19 Apr 2008 10:33:50 +0000 (10:33 +0000)]
do not pad return after a fall-through Jmp

[r19330]

16 years ago[r19329]
Michael Beck [Sat, 19 Apr 2008 10:31:13 +0000 (10:31 +0000)]
[r19329]

16 years agofollow_mem_chain_Store should respect alias relation for loads
Matthias Braun [Fri, 18 Apr 2008 13:30:10 +0000 (13:30 +0000)]
follow_mem_chain_Store should respect alias relation for loads

[r19326]

16 years agoload store opt fail with partially overwritten data
Michael Beck [Fri, 18 Apr 2008 13:13:00 +0000 (13:13 +0000)]
load store opt fail with partially overwritten data

[r19325]

16 years agoSyncs must be created with an ARRF in array in new_ir_node().
Christoph Mallon [Wed, 16 Apr 2008 18:10:17 +0000 (18:10 +0000)]
Syncs must be created with an ARRF in array in new_ir_node().

[r19306]

16 years agoFix typos in comments.
Christoph Mallon [Wed, 16 Apr 2008 18:08:59 +0000 (18:08 +0000)]
Fix typos in comments.

[r19305]

16 years agoRemove redudant set_ia32_am_support() call.
Christoph Mallon [Wed, 16 Apr 2008 14:09:53 +0000 (14:09 +0000)]
Remove redudant set_ia32_am_support() call.

[r19302]

16 years agoRemove the now unused function ia32_emit_am_or_dest_register().
Christoph Mallon [Wed, 16 Apr 2008 14:07:10 +0000 (14:07 +0000)]
Remove the now unused function ia32_emit_am_or_dest_register().

[r19301]

16 years agoRemove ia32_am_Dest.
Christoph Mallon [Wed, 16 Apr 2008 13:51:03 +0000 (13:51 +0000)]
Remove ia32_am_Dest.

[r19300]

16 years agoRemove ia32_am_Full.
Christoph Mallon [Wed, 16 Apr 2008 13:47:14 +0000 (13:47 +0000)]
Remove ia32_am_Full.

[r19299]

16 years agoSplit ia32_Pop into ia32_Pop and ia32_PopMem.
Christoph Mallon [Wed, 16 Apr 2008 13:29:28 +0000 (13:29 +0000)]
Split ia32_Pop into ia32_Pop and ia32_PopMem.

[r19298]

16 years ago- add barcelona and generic32 targets
Michael Beck [Tue, 15 Apr 2008 23:16:16 +0000 (23:16 +0000)]
- add barcelona and generic32 targets
- implemented use_mov_0
- implemented use_pad_return

[r19290]

16 years ago- do not use imul mem, imm32 on newer AMD cpu's
Michael Beck [Tue, 15 Apr 2008 18:20:13 +0000 (18:20 +0000)]
- do not use imul mem, imm32 on newer AMD cpu's

[r19288]

16 years ago- added add esp,8 -> pop reg, pop reg
Michael Beck [Tue, 15 Apr 2008 16:02:18 +0000 (16:02 +0000)]
- added add esp,8 -> pop reg, pop reg

[r19285]

16 years ago- fixed costs for Opteron and K10
Michael Beck [Tue, 15 Apr 2008 16:00:28 +0000 (16:00 +0000)]
- fixed costs for Opteron and K10
- add configuration bits for add/sub esp, 4/8

[r19284]

16 years agoLinux gprof need base pointer
Michael Beck [Mon, 14 Apr 2008 01:30:35 +0000 (01:30 +0000)]
Linux gprof need base pointer

[r19272]

16 years agoadd Linux grof support
Michael Beck [Mon, 14 Apr 2008 01:17:52 +0000 (01:17 +0000)]
add Linux grof support

[r19271]

16 years agoremoved incomplete code
Michael Beck [Mon, 14 Apr 2008 00:15:39 +0000 (00:15 +0000)]
removed incomplete code

[r19270]

16 years ago- get_irg_initial_exec()/set_irg_initial_exec() added
Michael Beck [Mon, 14 Apr 2008 00:03:35 +0000 (00:03 +0000)]
- get_irg_initial_exec()/set_irg_initial_exec() added
- removed the unused globals Proj
- BugFix: is_tls_pointer()

[r19268]

16 years ago- removed obstack from be_main_env_t, it was only used to allocate one arch_env,...
Michael Beck [Sun, 13 Apr 2008 18:43:52 +0000 (18:43 +0000)]
- removed obstack from be_main_env_t, it was only used to allocate one arch_env, which is now part of the environment itself
- removed unused static variable
- add (yet unfunctional) -b gprof switch
- renamed printev into more logical filtev
- some docu added

[r19264]

16 years agoC99 features removed
Michael Beck [Sun, 13 Apr 2008 12:41:23 +0000 (12:41 +0000)]
C99 features removed

[r19261]

16 years agorevert to old cost model, seems to work better
Michael Beck [Sat, 12 Apr 2008 12:08:03 +0000 (12:08 +0000)]
revert to old cost model, seems to work better

[r19260]

16 years agotypo fixed
Michael Beck [Sat, 12 Apr 2008 08:36:57 +0000 (08:36 +0000)]
typo fixed

[r19259]

16 years agogcc has same costs for prescott and nocona
Michael Beck [Sat, 12 Apr 2008 08:35:25 +0000 (08:35 +0000)]
gcc has same costs for prescott and nocona

[r19258]

16 years agoupdated timings
Michael Beck [Sat, 12 Apr 2008 08:09:11 +0000 (08:09 +0000)]
updated timings

[r19257]

16 years agoupdated cost model from gcc 4.3.0
Michael Beck [Fri, 11 Apr 2008 21:56:08 +0000 (21:56 +0000)]
updated cost model from gcc 4.3.0

[r19251]

16 years agonocona is a Pentium 4 variant
Michael Beck [Fri, 11 Apr 2008 20:20:56 +0000 (20:20 +0000)]
nocona is a Pentium 4 variant

[r19250]

16 years agolimited support for inlining K&R functions added
Michael Beck [Fri, 11 Apr 2008 10:29:53 +0000 (10:29 +0000)]
limited support for inlining K&R functions added

[r19230]

16 years agodisable inline of functions which call alloca(), causes stack overrun in 176.gcc
Michael Beck [Thu, 10 Apr 2008 22:24:11 +0000 (22:24 +0000)]
disable inline of functions which call alloca(), causes stack overrun in 176.gcc

[r19226]

16 years ago- BugFix: Do not optimize dead blocks: They might even be immature when SSA construct...
Michael Beck [Thu, 10 Apr 2008 14:58:13 +0000 (14:58 +0000)]
- BugFix: Do not optimize dead blocks: They might even be immature when SSA construction was
restartet ...

[r19222]

16 years ago- replaced brain-damaged recursive version of get_cf_op() by iterative one
Michael Beck [Thu, 10 Apr 2008 10:14:07 +0000 (10:14 +0000)]
- replaced brain-damaged recursive version of get_cf_op() by iterative one

[r19210]

16 years ago- inline_method() now sets current_ir_graph itself
Michael Beck [Thu, 10 Apr 2008 10:12:05 +0000 (10:12 +0000)]
- inline_method() now sets current_ir_graph itself
- inline_method() invalidates analysis info, no need to do this again

[r19209]

16 years agoBugFix: - there is only ONE proj_m to replace
Michael Beck [Thu, 10 Apr 2008 09:54:16 +0000 (09:54 +0000)]
BugFix: - there is only ONE proj_m to replace

[r19208]

16 years ago- add support for stack alignment on calls
Matthias Braun [Wed, 9 Apr 2008 22:41:54 +0000 (22:41 +0000)]
- add support for stack alignment on calls
- fix pic trampolines not being generated twice

[r19205]

16 years agocore2s are called nocona in gcc
Matthias Braun [Wed, 9 Apr 2008 22:37:21 +0000 (22:37 +0000)]
core2s are called nocona in gcc

[r19204]

16 years agoissue a debug output when inlining
Michael Beck [Mon, 7 Apr 2008 11:28:41 +0000 (11:28 +0000)]
issue a debug output when inlining

[r19166]