Michael Beck [Thu, 1 May 2008 23:57:25 +0000 (23:57 +0000)]
use mode_xmm where appropriate
[r19483]
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]
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]
Matthias Braun [Wed, 30 Apr 2008 12:16:02 +0000 (12:16 +0000)]
correct fix for benode comparison
[r19469]
Matthias Braun [Wed, 30 Apr 2008 12:07:30 +0000 (12:07 +0000)]
forgot to commit rbitset_requal
[r19468]
Matthias Braun [Wed, 30 Apr 2008 12:05:02 +0000 (12:05 +0000)]
avoid dangerous use of memcmp
[r19467]
Michael Beck [Wed, 30 Apr 2008 11:50:20 +0000 (11:50 +0000)]
add a comment that memcmp is not hostile here
[r19466]
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]
Michael Beck [Tue, 29 Apr 2008 16:37:50 +0000 (16:37 +0000)]
fix 64bit warnings
[r19454]
Michael Beck [Tue, 29 Apr 2008 16:12:15 +0000 (16:12 +0000)]
fix 64bit warnings
[r19451]
Michael Beck [Tue, 29 Apr 2008 15:18:36 +0000 (15:18 +0000)]
fix 64bit warnings
[r19450]
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]
Michael Beck [Mon, 28 Apr 2008 19:03:09 +0000 (19:03 +0000)]
transform stores of floating point constants into integer stores
[r19425]
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]
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]
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]
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]
Michael Beck [Sat, 26 Apr 2008 16:25:15 +0000 (16:25 +0000)]
fixed warning
[r19398]
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]
Christoph Mallon [Wed, 23 Apr 2008 12:17:54 +0000 (12:17 +0000)]
Give some node inputs more meaningful names.
[r19369]
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]
Christoph Mallon [Wed, 23 Apr 2008 11:41:59 +0000 (11:41 +0000)]
Set SVN properties.
[r19367]
Christoph Mallon [Wed, 23 Apr 2008 11:37:10 +0000 (11:37 +0000)]
Include stdlib.h for atoi().
[r19365]
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]
Christoph Mallon [Tue, 22 Apr 2008 14:44:04 +0000 (14:44 +0000)]
Fix return value of main().
[r19359]
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]
Christoph Mallon [Mon, 21 Apr 2008 14:20:18 +0000 (14:20 +0000)]
Panic when right shifting non-32bit values.
[r19349]
Michael Beck [Mon, 21 Apr 2008 00:22:07 +0000 (00:22 +0000)]
- more SSE constants handled by instructions
[r19345]
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]
Michael Beck [Sun, 20 Apr 2008 23:45:43 +0000 (23:45 +0000)]
typo fixed
[r19343]
Michael Beck [Sun, 20 Apr 2008 02:20:16 +0000 (02:20 +0000)]
more SSE constants handled without float_entity
[r19341]
Michael Beck [Sat, 19 Apr 2008 23:58:08 +0000 (23:58 +0000)]
- add optimisation for size
[r19340]
Michael Beck [Sat, 19 Apr 2008 23:54:53 +0000 (23:54 +0000)]
- don't dump alignment 0
[r19339]
Michael Beck [Sat, 19 Apr 2008 21:27:14 +0000 (21:27 +0000)]
- added alignment_label_max_skip
[r19338]
Michael Beck [Sat, 19 Apr 2008 21:21:54 +0000 (21:21 +0000)]
fix r19298: offsets must be fixed for PopMem
[r19337]
Michael Beck [Sat, 19 Apr 2008 17:56:41 +0000 (17:56 +0000)]
syntay error fixed
[r19336]
Michael Beck [Sat, 19 Apr 2008 17:55:32 +0000 (17:55 +0000)]
- handle failure of getpwuid() more gracefully
[r19335]
Michael Beck [Sat, 19 Apr 2008 17:05:00 +0000 (17:05 +0000)]
always align blocks if there is no fall-through
[r19334]
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]
Michael Beck [Sat, 19 Apr 2008 12:40:57 +0000 (12:40 +0000)]
fixed indentation
[r19332]
Michael Beck [Sat, 19 Apr 2008 10:33:50 +0000 (10:33 +0000)]
do not pad return after a fall-through Jmp
[r19330]
Michael Beck [Sat, 19 Apr 2008 10:31:13 +0000 (10:31 +0000)]
[r19329]
Matthias Braun [Fri, 18 Apr 2008 13:30:10 +0000 (13:30 +0000)]
follow_mem_chain_Store should respect alias relation for loads
[r19326]
Michael Beck [Fri, 18 Apr 2008 13:13:00 +0000 (13:13 +0000)]
load store opt fail with partially overwritten data
[r19325]
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]
Christoph Mallon [Wed, 16 Apr 2008 18:08:59 +0000 (18:08 +0000)]
Fix typos in comments.
[r19305]
Christoph Mallon [Wed, 16 Apr 2008 14:09:53 +0000 (14:09 +0000)]
Remove redudant set_ia32_am_support() call.
[r19302]
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]
Christoph Mallon [Wed, 16 Apr 2008 13:51:03 +0000 (13:51 +0000)]
Remove ia32_am_Dest.
[r19300]
Christoph Mallon [Wed, 16 Apr 2008 13:47:14 +0000 (13:47 +0000)]
Remove ia32_am_Full.
[r19299]
Christoph Mallon [Wed, 16 Apr 2008 13:29:28 +0000 (13:29 +0000)]
Split ia32_Pop into ia32_Pop and ia32_PopMem.
[r19298]
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]
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]
Michael Beck [Tue, 15 Apr 2008 16:02:18 +0000 (16:02 +0000)]
- added add esp,8 -> pop reg, pop reg
[r19285]
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]
Michael Beck [Mon, 14 Apr 2008 01:30:35 +0000 (01:30 +0000)]
Linux gprof need base pointer
[r19272]
Michael Beck [Mon, 14 Apr 2008 01:17:52 +0000 (01:17 +0000)]
add Linux grof support
[r19271]
Michael Beck [Mon, 14 Apr 2008 00:15:39 +0000 (00:15 +0000)]
removed incomplete code
[r19270]
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]
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]
Michael Beck [Sun, 13 Apr 2008 12:41:23 +0000 (12:41 +0000)]
C99 features removed
[r19261]
Michael Beck [Sat, 12 Apr 2008 12:08:03 +0000 (12:08 +0000)]
revert to old cost model, seems to work better
[r19260]
Michael Beck [Sat, 12 Apr 2008 08:36:57 +0000 (08:36 +0000)]
typo fixed
[r19259]
Michael Beck [Sat, 12 Apr 2008 08:35:25 +0000 (08:35 +0000)]
gcc has same costs for prescott and nocona
[r19258]
Michael Beck [Sat, 12 Apr 2008 08:09:11 +0000 (08:09 +0000)]
updated timings
[r19257]
Michael Beck [Fri, 11 Apr 2008 21:56:08 +0000 (21:56 +0000)]
updated cost model from gcc 4.3.0
[r19251]
Michael Beck [Fri, 11 Apr 2008 20:20:56 +0000 (20:20 +0000)]
nocona is a Pentium 4 variant
[r19250]
Michael Beck [Fri, 11 Apr 2008 10:29:53 +0000 (10:29 +0000)]
limited support for inlining K&R functions added
[r19230]
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]
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]
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]
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]
Michael Beck [Thu, 10 Apr 2008 09:54:16 +0000 (09:54 +0000)]
BugFix: - there is only ONE proj_m to replace
[r19208]
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]
Matthias Braun [Wed, 9 Apr 2008 22:37:21 +0000 (22:37 +0000)]
core2s are called nocona in gcc
[r19204]
Michael Beck [Mon, 7 Apr 2008 11:28:41 +0000 (11:28 +0000)]
issue a debug output when inlining
[r19166]
Michael Beck [Mon, 7 Apr 2008 11:20:54 +0000 (11:20 +0000)]
- BugFix: SSA construction requires current block set ...
[r19165]
Michael Beck [Mon, 7 Apr 2008 11:13:23 +0000 (11:13 +0000)]
fixed unsaved checkin ...
[r19164]
Michael Beck [Mon, 7 Apr 2008 11:11:07 +0000 (11:11 +0000)]
- optimize Tuple nodes away before calling scalar replacement
[r19163]
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]
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]
Michael Beck [Sat, 5 Apr 2008 19:42:46 +0000 (19:42 +0000)]
updated
[r19147]
Michael Beck [Sat, 5 Apr 2008 19:19:42 +0000 (19:19 +0000)]
completely removed old verbosity based debug output
[r19146]
Michael Beck [Sat, 5 Apr 2008 18:38:22 +0000 (18:38 +0000)]
switch scalar replacement to new style debug output
[r19145]
Michael Beck [Sat, 5 Apr 2008 18:37:30 +0000 (18:37 +0000)]
after inlining, the loop-info is inconsistent
[r19144]
Michael Beck [Sat, 5 Apr 2008 18:18:00 +0000 (18:18 +0000)]
- init function for inlining added
[r19143]
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]
Michael Beck [Fri, 4 Apr 2008 21:19:27 +0000 (21:19 +0000)]
Improved param weights: handle Id and Tuple nodes
[r19138]
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]
Michael Beck [Fri, 4 Apr 2008 18:49:18 +0000 (18:49 +0000)]
BugFix: store the weigths to the right location
[r19135]
Michael Beck [Fri, 4 Apr 2008 18:43:42 +0000 (18:43 +0000)]
fixed obstack initialization, removed unused variable
[r19134]
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]
Michael Beck [Fri, 4 Apr 2008 17:36:32 +0000 (17:36 +0000)]
fixed indentation, deleted useless comment
[r19132]
Michael Beck [Fri, 4 Apr 2008 16:55:30 +0000 (16:55 +0000)]
calculate benefice on real callee
[r19130]
Michael Beck [Fri, 4 Apr 2008 16:45:04 +0000 (16:45 +0000)]
no bonus for recursive inlining
[r19129]
Michael Beck [Fri, 4 Apr 2008 16:30:56 +0000 (16:30 +0000)]
fixed warnings
[r19128]
Michael Beck [Fri, 4 Apr 2008 16:26:49 +0000 (16:26 +0000)]
new benefice based heuristic inliner added
[r19127]
Andreas Zwinkau [Fri, 4 Apr 2008 14:58:35 +0000 (14:58 +0000)]
add missing include <config.h>
[r19126]
Matthias Braun [Fri, 4 Apr 2008 13:47:21 +0000 (13:47 +0000)]
add missing else for data in data section
[r19125]
Michael Beck [Fri, 4 Apr 2008 13:31:04 +0000 (13:31 +0000)]
- improced param weight calculation
- indentation changed
[r19122]