libfirm
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]

16 years ago- BugFix: SSA construction requires current block set ...
Michael Beck [Mon, 7 Apr 2008 11:20:54 +0000 (11:20 +0000)]
- BugFix: SSA construction requires current block set ...

[r19165]

16 years agofixed unsaved checkin ...
Michael Beck [Mon, 7 Apr 2008 11:13:23 +0000 (11:13 +0000)]
fixed unsaved checkin ...

[r19164]

16 years ago- optimize Tuple nodes away before calling scalar replacement
Michael Beck [Mon, 7 Apr 2008 11:11:07 +0000 (11:11 +0000)]
- optimize Tuple nodes away before calling scalar replacement

[r19163]

16 years ago- Do not set phase_low here. currently ssa-construction (in scalar_replacement) wants...
Michael Beck [Mon, 7 Apr 2008 11:10:10 +0000 (11:10 +0000)]
- Do not set phase_low here. currently ssa-construction (in scalar_replacement) wants phase high ...

[r19162]

16 years ago- uses new SSA constructor interface, shortening and clering the code
Michael Beck [Mon, 7 Apr 2008 11:08:54 +0000 (11:08 +0000)]
- uses new SSA constructor interface, shortening and clering the code
- bugfix: really set current_ir_graph
- return non-zero if replacements were found

[r19161]

16 years agoupdated
Michael Beck [Sat, 5 Apr 2008 19:42:46 +0000 (19:42 +0000)]
updated

[r19147]

16 years agocompletely removed old verbosity based debug output
Michael Beck [Sat, 5 Apr 2008 19:19:42 +0000 (19:19 +0000)]
completely removed old verbosity based debug output

[r19146]

16 years agoswitch scalar replacement to new style debug output
Michael Beck [Sat, 5 Apr 2008 18:38:22 +0000 (18:38 +0000)]
switch scalar replacement to new style debug output

[r19145]

16 years agoafter inlining, the loop-info is inconsistent
Michael Beck [Sat, 5 Apr 2008 18:37:30 +0000 (18:37 +0000)]
after inlining, the loop-info is inconsistent

[r19144]

16 years ago- init function for inlining added
Michael Beck [Sat, 5 Apr 2008 18:18:00 +0000 (18:18 +0000)]
- init function for inlining added

[r19143]

16 years agoImproved inliner: rerun scalar_replacement() if addresses of local variables were...
Michael Beck [Fri, 4 Apr 2008 21:21:59 +0000 (21:21 +0000)]
Improved inliner: rerun scalar_replacement() if addresses of local variables were inlined

[r19139]

16 years agoImproved param weights: handle Id and Tuple nodes
Michael Beck [Fri, 4 Apr 2008 21:19:27 +0000 (21:19 +0000)]
Improved param weights: handle Id and Tuple nodes

[r19138]

16 years agoBugFix:
Michael Beck [Fri, 4 Apr 2008 19:01:48 +0000 (19:01 +0000)]
BugFix:
- node were allocated on the wrong obstack when creating a graph copy

[r19137]

16 years agoBugFix: store the weigths to the right location
Michael Beck [Fri, 4 Apr 2008 18:49:18 +0000 (18:49 +0000)]
BugFix: store the weigths to the right location

[r19135]

16 years agofixed obstack initialization, removed unused variable
Michael Beck [Fri, 4 Apr 2008 18:43:42 +0000 (18:43 +0000)]
fixed obstack initialization, removed unused variable

[r19134]

16 years ago- only local visible methods get the big benefice
Michael Beck [Fri, 4 Apr 2008 18:26:24 +0000 (18:26 +0000)]
- only local visible methods get the big benefice
- calculate benefice when transmitting addresses of local variables

[r19133]

16 years agofixed indentation, deleted useless comment
Michael Beck [Fri, 4 Apr 2008 17:36:32 +0000 (17:36 +0000)]
fixed indentation, deleted useless comment

[r19132]

16 years agocalculate benefice on real callee
Michael Beck [Fri, 4 Apr 2008 16:55:30 +0000 (16:55 +0000)]
calculate benefice on real callee

[r19130]

16 years agono bonus for recursive inlining
Michael Beck [Fri, 4 Apr 2008 16:45:04 +0000 (16:45 +0000)]
no bonus for recursive inlining

[r19129]

16 years agofixed warnings
Michael Beck [Fri, 4 Apr 2008 16:30:56 +0000 (16:30 +0000)]
fixed warnings

[r19128]

16 years agonew benefice based heuristic inliner added
Michael Beck [Fri, 4 Apr 2008 16:26:49 +0000 (16:26 +0000)]
new benefice based heuristic inliner added

[r19127]

16 years agoadd missing include <config.h>
Andreas Zwinkau [Fri, 4 Apr 2008 14:58:35 +0000 (14:58 +0000)]
add missing include <config.h>

[r19126]

16 years agoadd missing else for data in data section
Matthias Braun [Fri, 4 Apr 2008 13:47:21 +0000 (13:47 +0000)]
add missing else for data in data section

[r19125]

16 years ago- improced param weight calculation
Michael Beck [Fri, 4 Apr 2008 13:31:04 +0000 (13:31 +0000)]
- improced param weight calculation
- indentation changed

[r19122]

16 years agocosmetic
Michael Beck [Fri, 4 Apr 2008 13:30:14 +0000 (13:30 +0000)]
cosmetic

[r19121]

16 years agoMoved inlining and DCE (which is implemented like inlinung) into opt_inline.c
Michael Beck [Fri, 4 Apr 2008 11:46:22 +0000 (11:46 +0000)]
Moved inlining and DCE (which is implemented like inlinung) into opt_inline.c

[r19119]

16 years ago- code cleanup
Michael Beck [Fri, 4 Apr 2008 11:32:32 +0000 (11:32 +0000)]
- code cleanup
- moved code placement and critical edges removement to own files

[r19117]

16 years agoC99 features removed
Michael Beck [Fri, 4 Apr 2008 11:10:48 +0000 (11:10 +0000)]
C99 features removed

[r19113]

16 years agohandle the macro block properly
Michael Beck [Fri, 4 Apr 2008 11:10:17 +0000 (11:10 +0000)]
handle the macro block properly

[r19112]

16 years agosome cosmetic
Michael Beck [Fri, 4 Apr 2008 11:09:46 +0000 (11:09 +0000)]
some cosmetic

[r19111]

16 years agostarted implementing Mac Style PIC
Matthias Braun [Thu, 3 Apr 2008 21:08:42 +0000 (21:08 +0000)]
started implementing Mac Style PIC

[r19102]

16 years agomake mangle3 public
Matthias Braun [Thu, 3 Apr 2008 21:08:21 +0000 (21:08 +0000)]
make mangle3 public

[r19101]

16 years agoshouldn't be here anymore
Matthias Braun [Thu, 3 Apr 2008 19:09:46 +0000 (19:09 +0000)]
shouldn't be here anymore

[r19100]

16 years agoshouldn't be here anymore
Matthias Braun [Thu, 3 Apr 2008 19:09:29 +0000 (19:09 +0000)]
shouldn't be here anymore

[r19099]

16 years agoremove img_section stuff and create a new constructors_type
Matthias Braun [Thu, 3 Apr 2008 18:56:41 +0000 (18:56 +0000)]
remove img_section stuff and create a new constructors_type

[r19098]

16 years agofix warnings
Matthias Braun [Thu, 3 Apr 2008 18:54:29 +0000 (18:54 +0000)]
fix warnings

[r19097]

16 years agoimproved Cmp(x, 0) optimizations
Michael Beck [Thu, 3 Apr 2008 13:12:57 +0000 (13:12 +0000)]
improved Cmp(x, 0) optimizations

[r19089]

16 years agofix warning
Matthias Braun [Wed, 2 Apr 2008 22:02:41 +0000 (22:02 +0000)]
fix warning

[r19079]

16 years agohelper function for creating unique identifiers
Matthias Braun [Wed, 2 Apr 2008 22:01:24 +0000 (22:01 +0000)]
helper function for creating unique identifiers

[r19078]

16 years agoswitch off usage of global_pointer again: globals are only SymConsts. -fpic will...
Michael Beck [Wed, 2 Apr 2008 18:34:01 +0000 (18:34 +0000)]
switch off usage of global_pointer again: globals are only SymConsts. -fpic will be completely handled by the beabi

[r19073]

16 years agoSkip Projs in cost calculation.
Christoph Mallon [Wed, 2 Apr 2008 14:34:23 +0000 (14:34 +0000)]
Skip Projs in cost calculation.

[r19071]

16 years agoadd list_head typedef
Michael Beck [Wed, 2 Apr 2008 14:09:23 +0000 (14:09 +0000)]
add list_head typedef

[r19067]

16 years agoused new is_Global() and get_Global_entity() instead of SymConst calls
Michael Beck [Wed, 2 Apr 2008 14:08:02 +0000 (14:08 +0000)]
used new is_Global() and get_Global_entity() instead of SymConst calls

[r19066]

16 years agoRemove dead code.
Christoph Mallon [Wed, 2 Apr 2008 14:05:47 +0000 (14:05 +0000)]
Remove dead code.

[r19065]

16 years agoadd is_Global() and get_Global_ent()
Michael Beck [Wed, 2 Apr 2008 13:51:39 +0000 (13:51 +0000)]
add is_Global() and get_Global_ent()

[r19064]

16 years agoC99 features removed
Michael Beck [Wed, 2 Apr 2008 09:53:48 +0000 (09:53 +0000)]
C99 features removed

[r19060]

16 years agosome comments added and fixed
Michael Beck [Wed, 2 Apr 2008 09:53:14 +0000 (09:53 +0000)]
some comments added and fixed

[r19059]

16 years agoC99 features removed
Michael Beck [Wed, 2 Apr 2008 09:51:15 +0000 (09:51 +0000)]
C99 features removed

[r19058]

16 years agofixed Win32 build
Michael Beck [Wed, 2 Apr 2008 09:50:40 +0000 (09:50 +0000)]
fixed Win32 build

[r19057]