Moritz Kroll [Tue, 18 Nov 2008 12:51:26 +0000 (12:51 +0000)]
Removed unused block parameter from Const constructors
[r23750]
Michael Beck [Sat, 15 Nov 2008 18:40:49 +0000 (18:40 +0000)]
- removed LV_COMPUTE_SORTED define and associated qsort(): nodes are now always sorted by construction, no need to sort them
- reduced parameters in recursion, placed constant values on a global struct
[r23691]
Michael Beck [Sat, 15 Nov 2008 18:33:03 +0000 (18:33 +0000)]
- fix r23688
[r23690]
Christoph Mallon [Sat, 15 Nov 2008 17:44:20 +0000 (17:44 +0000)]
Remove write-only variable.
[r23689]
Christoph Mallon [Sat, 15 Nov 2008 17:26:57 +0000 (17:26 +0000)]
Simplify macro.
[r23688]
Christoph Mallon [Sat, 15 Nov 2008 17:17:19 +0000 (17:17 +0000)]
Remove emit_linelength. The obstack knows its length.
[r23687]
Christoph Mallon [Sat, 15 Nov 2008 17:15:34 +0000 (17:15 +0000)]
Fix typos.
[r23686]
Matthias Braun [Fri, 14 Nov 2008 16:00:26 +0000 (16:00 +0000)]
rename mangling stuff to avoid name clashes
[r23665]
Matthias Braun [Fri, 14 Nov 2008 15:38:07 +0000 (15:38 +0000)]
fix problems when folding constants of different mode
[r23662]
Christoph Mallon [Fri, 14 Nov 2008 08:01:48 +0000 (08:01 +0000)]
Add a flags output to IMul1OP for consistency with l_Mul and Mul and less headaches when building the Projs.
[r23645]
Christoph Mallon [Fri, 14 Nov 2008 07:52:10 +0000 (07:52 +0000)]
Consider the result and operand having the same width a downconv, too. This results in a few more possibilities for AM folding.
[r23644]
Christoph Mallon [Fri, 14 Nov 2008 07:42:05 +0000 (07:42 +0000)]
When dw lowering, use the lowered unsigned mode for the shift amount.
[r23643]
Christoph Mallon [Thu, 13 Nov 2008 13:37:23 +0000 (13:37 +0000)]
Resolve warnings.
[r23627]
Matthias Braun [Thu, 13 Nov 2008 13:25:05 +0000 (13:25 +0000)]
64bit should be lowered at this place
[r23625]
Matthias Braun [Thu, 13 Nov 2008 13:16:08 +0000 (13:16 +0000)]
don't print strings with printf
[r23623]
Michael Beck [Thu, 13 Nov 2008 12:23:46 +0000 (12:23 +0000)]
- a stripped down version of liveness for register pressure estimation (and without out edges)
[r23621]
Michael Beck [Thu, 13 Nov 2008 10:42:57 +0000 (10:42 +0000)]
- some cosmetic changes
[r23614]
Michael Beck [Thu, 13 Nov 2008 10:28:43 +0000 (10:28 +0000)]
- let be_liveness() take the irg, not the birg which was just copied around
[r23613]
Michael Beck [Thu, 13 Nov 2008 10:22:16 +0000 (10:22 +0000)]
- C99 features removed
[r23611]
Christoph Mallon [Thu, 13 Nov 2008 07:45:10 +0000 (07:45 +0000)]
Remove unused macro.
[r23610]
Christoph Mallon [Thu, 13 Nov 2008 07:44:53 +0000 (07:44 +0000)]
Use assignment instead of memcpy().
[r23609]
Christoph Mallon [Wed, 12 Nov 2008 22:01:28 +0000 (22:01 +0000)]
One less sign extension in an obscure case.
[r23608]
Christoph Mallon [Wed, 12 Nov 2008 21:35:33 +0000 (21:35 +0000)]
Improve last commit.
[r23606]
Christoph Mallon [Wed, 12 Nov 2008 21:29:56 +0000 (21:29 +0000)]
Check for any 16/32bit signed integer modes, not just for Hs and Is.
[r23605]
Christoph Mallon [Wed, 12 Nov 2008 21:22:20 +0000 (21:22 +0000)]
Fix previous commits.
[r23604]
Christoph Mallon [Wed, 12 Nov 2008 21:09:33 +0000 (21:09 +0000)]
Remove match_8bit and match_16bit. They were only asserted and the asserts (and their comments) were plain strange.
[r23603]
Christoph Mallon [Wed, 12 Nov 2008 20:33:16 +0000 (20:33 +0000)]
IJmp cannot do 8bit/16bit AM.
[r23602]
Christoph Mallon [Wed, 12 Nov 2008 20:19:50 +0000 (20:19 +0000)]
Kick the useless match_dest_am flag.
[r23601]
Christoph Mallon [Wed, 12 Nov 2008 19:41:27 +0000 (19:41 +0000)]
Fix typo in comment.
[r23600]
Christoph Mallon [Wed, 12 Nov 2008 15:34:18 +0000 (15:34 +0000)]
Factorise creating Conv_I2Is.
[r23596]
Michael Beck [Wed, 12 Nov 2008 14:54:45 +0000 (14:54 +0000)]
- improve doxygen docu
[r23594]
Christoph Mallon [Wed, 12 Nov 2008 14:36:59 +0000 (14:36 +0000)]
Handle Sar in upper_bits_clean().
[r23593]
Christoph Mallon [Wed, 12 Nov 2008 14:28:51 +0000 (14:28 +0000)]
Handle signed modes for And in upper_bits_clean() better.
[r23592]
Christoph Mallon [Wed, 12 Nov 2008 14:26:25 +0000 (14:26 +0000)]
The upper bits of Or and Xor can be clean, too.
[r23591]
Christoph Mallon [Wed, 12 Nov 2008 14:17:50 +0000 (14:17 +0000)]
Handle more general case: The right hand side of an And does not need to be an Immediate to guarantee the upper bits are clean. Any "clean" node on the left or right side will do.
[r23589]
Christoph Mallon [Wed, 12 Nov 2008 14:07:52 +0000 (14:07 +0000)]
Simplify incomprehensible condition.
[r23588]
Christoph Mallon [Wed, 12 Nov 2008 14:03:42 +0000 (14:03 +0000)]
Replace if cascade by switch.
[r23587]
Christoph Mallon [Wed, 12 Nov 2008 13:05:21 +0000 (13:05 +0000)]
Fix r23461: Kick non-strict Convs with op mode == mode.
[r23585]
Christoph Mallon [Wed, 12 Nov 2008 10:15:16 +0000 (10:15 +0000)]
Handle replacement of ia32_Conv_I2I by Cwtl as peephole optimisation instead of handling it in the emitter.
[r23582]
Matthias Braun [Tue, 11 Nov 2008 20:01:33 +0000 (20:01 +0000)]
make Consts look like other nodes to avoid confusion
[r23581]
Matthias Braun [Tue, 11 Nov 2008 19:45:31 +0000 (19:45 +0000)]
fix node colors for some local constants
[r23579]
Matthias Braun [Tue, 11 Nov 2008 19:45:10 +0000 (19:45 +0000)]
avoid using explicit modes
[r23578]
Christoph Mallon [Tue, 11 Nov 2008 16:32:34 +0000 (16:32 +0000)]
Fix r23571.
[r23576]
Michael Beck [Tue, 11 Nov 2008 15:59:10 +0000 (15:59 +0000)]
- BugFix: get the mode from Cmp operand when calculating the negated pnc
[r23575]
Christoph Mallon [Tue, 11 Nov 2008 14:50:01 +0000 (14:50 +0000)]
Set debug info for parameter stores when building be_Call.
[r23571]
Michael Beck [Tue, 11 Nov 2008 12:34:27 +0000 (12:34 +0000)]
- do not read the link of an exchanged node (although it
works as expected)
- small cosmetic
[r23560]
Christoph Mallon [Tue, 11 Nov 2008 12:29:38 +0000 (12:29 +0000)]
Remove duplicated test.
[r23559]
Michael Beck [Tue, 11 Nov 2008 12:10:00 +0000 (12:10 +0000)]
- cosmetic changes
[r23556]
Christoph Mallon [Tue, 11 Nov 2008 11:44:33 +0000 (11:44 +0000)]
Make the out edge verifier happy, when removing unnecessary ia32_Test, by not creating a result Proj, when there are no other users.
[r23555]
Michael Beck [Tue, 11 Nov 2008 06:11:56 +0000 (06:11 +0000)]
- keep ALL mode_M nodes that have only unreachable users:
This fixes the problem than memory ops disappear before endless loops (fehler154.c)
- fixed some typos
[r23550]
Christoph Mallon [Sat, 8 Nov 2008 11:00:02 +0000 (11:00 +0000)]
Remove new_{,r}d_{Bad,NoMem}(), which are just pointless wrappers for new_r_{Bad,NoMem}.
[r23536]
Christoph Mallon [Sat, 8 Nov 2008 10:42:30 +0000 (10:42 +0000)]
Generate new_bd_* instead of new_rd_* functions in the backend. The nodes are always created on the current irg.
[r23535]
Christoph Mallon [Sat, 8 Nov 2008 10:19:36 +0000 (10:19 +0000)]
Just use new_NoMem(), it is always the current irg.
[r23534]
Christoph Mallon [Sat, 8 Nov 2008 10:11:13 +0000 (10:11 +0000)]
Simplify emitting SSE float/int convs.
[r23533]
Christoph Mallon [Sat, 8 Nov 2008 08:16:23 +0000 (08:16 +0000)]
- Fix dangling % in format string, ironically in a warning about dangling %.
- Do not split string literals.
[r23532]
Christoph Mallon [Sat, 8 Nov 2008 07:24:49 +0000 (07:24 +0000)]
Fix subtle error in r22602, which never triggers, because we only have 32bit cmovs.
[r23531]
Christoph Mallon [Sat, 8 Nov 2008 07:07:53 +0000 (07:07 +0000)]
Factorise common code to negate pnc.
[r23530]
Christoph Mallon [Sat, 8 Nov 2008 06:51:32 +0000 (06:51 +0000)]
Remove pointless assert, (x & 7) == (int){0,1,2,3,4,5,6,7}[x & 7] is always true.
[r23529]
Christoph Mallon [Sat, 8 Nov 2008 06:45:25 +0000 (06:45 +0000)]
Typos.
[r23528]
Michael Beck [Fri, 7 Nov 2008 14:42:53 +0000 (14:42 +0000)]
- change the modified flags of ASM instruction from '1' to $status_flags,
no change yet until someone implements tracking of different flags
- add 'documentation' for the modified_flags feature
[r23518]
Michael Beck [Fri, 7 Nov 2008 14:25:15 +0000 (14:25 +0000)]
- BugFix: ia32_Call modifies flags!
[r23517]
Michael Beck [Fri, 7 Nov 2008 14:02:46 +0000 (14:02 +0000)]
- fixed comment
[r23514]
Michael Beck [Fri, 7 Nov 2008 13:56:45 +0000 (13:56 +0000)]
- fixed opcode(): Const and SymConst can happen through propagate, so
we must add code to handle them
- for now, only Call-addresses are not threated as input nodes:
this allows more blocks to b melted, but may increase the live-in set
- split by live-troughs yet. this is a bit to restrictive but
ok for now. Replace this later by Phi node splitting
- ALL live-outs must be roots, not only those without user inside the block
[r23513]
Moritz Kroll [Fri, 7 Nov 2008 12:48:11 +0000 (12:48 +0000)]
Added optimization Cmp((x >> c1) & c2, c3) = Cmp(x & (c2 << c1), c3 << c1) for eq and lg
[r23512]
Michael Beck [Thu, 6 Nov 2008 20:58:30 +0000 (20:58 +0000)]
- add missing include
[r23504]
Michael Beck [Thu, 6 Nov 2008 20:46:23 +0000 (20:46 +0000)]
- removed "firm-jni" hack: unused and questionable anyway
[r23503]
Michael Beck [Thu, 6 Nov 2008 15:40:50 +0000 (15:40 +0000)]
- BugFix: cmp_nodes gets an ir_node **
- fixed unused argument
- fixed memory leaks
- add define to switch back to end-melt mode (general mode does not run
pec yet)
[r23494]
Michael Beck [Thu, 6 Nov 2008 15:03:13 +0000 (15:03 +0000)]
- generalized end-block melting into generic block shaping
[r23487]
Michael Beck [Thu, 6 Nov 2008 15:02:27 +0000 (15:02 +0000)]
- add the IRG-LINK resource
[r23486]
Michael Beck [Thu, 6 Nov 2008 13:46:02 +0000 (13:46 +0000)]
- C99 features removed
[r23481]
Michael Beck [Thu, 6 Nov 2008 13:17:44 +0000 (13:17 +0000)]
- BugFix: transmit a block, not a node (fixes r23473)
[r23479]
Christoph Mallon [Thu, 6 Nov 2008 11:42:13 +0000 (11:42 +0000)]
Set the orig node for 32 to 64 bit sign extensions.
[r23476]
Christoph Mallon [Thu, 6 Nov 2008 11:31:49 +0000 (11:31 +0000)]
Make using SET_IA32_ORIG_NODE() a bit simpler.
[r23474]
Christoph Mallon [Thu, 6 Nov 2008 10:56:19 +0000 (10:56 +0000)]
The K6 does not like cltd and cwtl.
[r23473]
Christoph Mallon [Thu, 6 Nov 2008 10:32:26 +0000 (10:32 +0000)]
Fix comments.
[r23472]
Christoph Mallon [Thu, 6 Nov 2008 10:29:04 +0000 (10:29 +0000)]
Make a few lines a bit more readable by using a local variable.
[r23471]
Christoph Mallon [Thu, 6 Nov 2008 10:27:47 +0000 (10:27 +0000)]
Fix typo in comment.
[r23470]
Christoph Mallon [Thu, 6 Nov 2008 10:26:38 +0000 (10:26 +0000)]
VIA C3-2 supports all P6 instructions.
[r23469]
Christoph Mallon [Thu, 6 Nov 2008 10:25:09 +0000 (10:25 +0000)]
Fix typos in comments, reformat.
[r23468]
Michael Beck [Thu, 6 Nov 2008 02:09:57 +0000 (02:09 +0000)]
- Corrected Abs/Nabs check
[r23462]
Michael Beck [Thu, 6 Nov 2008 01:51:12 +0000 (01:51 +0000)]
- Fixed: do not kick predecessors on non-current nodes
- Arguments should also return the right precision
[r23461]
Michael Beck [Thu, 6 Nov 2008 01:19:18 +0000 (01:19 +0000)]
- neither Abs nor Minus change the precision, so we can look-through them
when checking for superflous strictConv
[r23460]
Michael Beck [Thu, 6 Nov 2008 00:58:05 +0000 (00:58 +0000)]
- allow fabs to be constructed
[r23459]
Michael Beck [Thu, 6 Nov 2008 00:36:17 +0000 (00:36 +0000)]
- moved declarations to appropriate header files
[r23458]
Michael Beck [Thu, 6 Nov 2008 00:30:12 +0000 (00:30 +0000)]
- fixed comments
[r23457]
Michael Beck [Wed, 5 Nov 2008 14:17:56 +0000 (14:17 +0000)]
- refactored code for generic block shaping
[r23445]
Michael Beck [Wed, 5 Nov 2008 13:50:12 +0000 (13:50 +0000)]
- BugFix: remove critical edges to ensure that Phi's have diferent predecessor
blocks
[r23443]
Moritz Kroll [Mon, 3 Nov 2008 19:39:38 +0000 (19:39 +0000)]
Added new storage class for pointer constants
[r23420]
Michael Beck [Mon, 3 Nov 2008 18:46:30 +0000 (18:46 +0000)]
- DO NOT EDIT AFTER TEST!
[r23419]
Michael Beck [Mon, 3 Nov 2008 14:22:00 +0000 (14:22 +0000)]
- when a graph is lowered because of struct return changes, transform
the value param arguments in the same way like all "register" arguments:
this fixes fehler162.c
[r23408]
Michael Beck [Mon, 3 Nov 2008 14:18:44 +0000 (14:18 +0000)]
- add some comments
- split get_or_set_call_arg() into get_call_arg() and create_call_arg()
[r23407]
Michael Beck [Mon, 3 Nov 2008 12:02:21 +0000 (12:02 +0000)]
- firmEvaluator (VusualStudio 6/7/8 debug extension) added
[r23400]
Michael Beck [Sun, 2 Nov 2008 17:31:06 +0000 (17:31 +0000)]
- fixed RELEASE build
[r23398]
Christoph Mallon [Sat, 1 Nov 2008 21:22:31 +0000 (21:22 +0000)]
Fix switch lowerer for cases close to overflow.
[r23374]
Matthias Braun [Sat, 1 Nov 2008 18:20:48 +0000 (18:20 +0000)]
remove test dir
[r23364]
Matthias Braun [Sat, 1 Nov 2008 18:20:10 +0000 (18:20 +0000)]
move tests around
[r23363]
Matthias Braun [Sat, 1 Nov 2008 18:19:36 +0000 (18:19 +0000)]
remove strange tests which does not link/run
[r23361]
Matthias Braun [Sat, 1 Nov 2008 18:18:19 +0000 (18:18 +0000)]
move tests around
[r23360]
Matthias Braun [Sat, 1 Nov 2008 16:56:55 +0000 (16:56 +0000)]
switch is still broken, copying over cparser testcase since noone runs the cparser tests regularily
[r23350]
Michael Beck [Fri, 31 Oct 2008 16:10:01 +0000 (16:10 +0000)]
- calling normalize_n_returns() improve greatly the block shaping
- improved debug output
[r23335]