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]
Andreas Zwinkau [Fri, 31 Oct 2008 14:54:56 +0000 (14:54 +0000)]
Preserving a test case, which would brake with pbqp transformer on ARM and postinc rules
[r23329]
Michael Beck [Fri, 31 Oct 2008 14:47:13 +0000 (14:47 +0000)]
- fixed allocation of resources even more
[r23328]
Michael Beck [Fri, 31 Oct 2008 14:34:18 +0000 (14:34 +0000)]
- fixed allocation of resources
[r23327]
Michael Beck [Fri, 31 Oct 2008 14:03:24 +0000 (14:03 +0000)]
- removed rest of already unsupported USE_EXPLICIT_PHI_IN_STACK
[r23326]
Michael Beck [Fri, 31 Oct 2008 14:01:02 +0000 (14:01 +0000)]
- shorten the lifetime of a variable
[r23325]
Michael Beck [Fri, 31 Oct 2008 14:00:22 +0000 (14:00 +0000)]
- Fixed memory leak: delete pseudo-irgs if any
[r23324]
Michael Beck [Fri, 31 Oct 2008 13:59:44 +0000 (13:59 +0000)]
- indentation
[r23323]
Michael Beck [Fri, 31 Oct 2008 13:38:46 +0000 (13:38 +0000)]
- fixed typo
[r23322]
Michael Beck [Fri, 31 Oct 2008 13:38:31 +0000 (13:38 +0000)]
- fixed _get_irp_irg()
[r23321]
Michael Beck [Fri, 31 Oct 2008 13:24:14 +0000 (13:24 +0000)]
- BugFix: use remove_irp_irg() instead of free_ir_graph() to prevent
double graph freeing
- Put the constant result of stat_is_active() into variable
[r23320]
Michael Beck [Fri, 31 Oct 2008 13:21:24 +0000 (13:21 +0000)]
- removed some constant ARR_LEN's
- removed useless assert
[r23319]
Sebastian Buchwald [Fri, 31 Oct 2008 11:31:47 +0000 (11:31 +0000)]
- reserve necessary resources before collect phiprojs
- fixed assertion
[r23316]
Michael Beck [Thu, 30 Oct 2008 15:48:04 +0000 (15:48 +0000)]
- reserve the IR_RESOURCE_PHI_LIST resource
[r23313]
Michael Beck [Thu, 30 Oct 2008 15:44:59 +0000 (15:44 +0000)]
- reserve the IR_RESOURCE_PHI_LIST resource
[r23312]
Michael Beck [Thu, 30 Oct 2008 15:41:48 +0000 (15:41 +0000)]
- invalidate tr_outs because Calls might be removed
[r23311]
Michael Beck [Thu, 30 Oct 2008 02:13:58 +0000 (02:13 +0000)]
- do not treat Constants as live-ins: this assures, that a
meltet block has the same number of inputs like the original
[r23306]
Michael Beck [Thu, 30 Oct 2008 01:39:36 +0000 (01:39 +0000)]
- BugFix: kill partitions with 0 blocks either
- BugFix: set the ins for the newly created Phis
- BugFix: correctly construct the Phis for old inputs
[r23305]
Michael Beck [Tue, 28 Oct 2008 15:12:43 +0000 (15:12 +0000)]
deactivate debug output
[r23280]
Michael Beck [Tue, 28 Oct 2008 14:56:19 +0000 (14:56 +0000)]
improved example
[r23276]
Michael Beck [Tue, 28 Oct 2008 14:55:49 +0000 (14:55 +0000)]
- implemented apply phase
[r23275]
Michael Beck [Tue, 28 Oct 2008 14:21:39 +0000 (14:21 +0000)]
- small cleanup
[r23271]
Michael Beck [Tue, 28 Oct 2008 13:17:26 +0000 (13:17 +0000)]
- add block Phi list resource
- check, that only local/global resources are allocated
[r23266]
Michael Beck [Tue, 28 Oct 2008 04:34:13 +0000 (04:34 +0000)]
- analysis part of an block merging optimization
[r23250]
Michael Beck [Tue, 28 Oct 2008 04:33:06 +0000 (04:33 +0000)]
- renamed normalize_node() into ir_normalize_node() and make it available outside iropt.c
[r23249]
Michael Beck [Tue, 28 Oct 2008 04:32:18 +0000 (04:32 +0000)]
- removed const from function definitions (causes warnings on MSVC: formal parameter different)
[r23248]
Michael Beck [Tue, 28 Oct 2008 04:30:41 +0000 (04:30 +0000)]
- example for the new block optimization
[r23247]
Michael Beck [Mon, 27 Oct 2008 21:47:50 +0000 (21:47 +0000)]
- more irp_resource_reserved()
[r23246]
Michael Beck [Mon, 27 Oct 2008 17:33:57 +0000 (17:33 +0000)]
- BugFix: ensure that Convs are created in the right block
- BugFix: add support for Id nodes when searching for leave Sel's:
we MUST find all leaves else some nodes are NOT removed
- removed use of visited flag, useless: we cannot reache a Sel
node by different data pathes
- add ressource allocators
[r23240]
Michael Beck [Mon, 27 Oct 2008 17:09:10 +0000 (17:09 +0000)]
- used new global resource allocator
[r23238]
Michael Beck [Mon, 27 Oct 2008 15:43:44 +0000 (15:43 +0000)]
- add functions for global (ir_prog) resource management
[r23235]
Michael Beck [Mon, 27 Oct 2008 15:16:29 +0000 (15:16 +0000)]
- introduced IR_RESOURCE_ENTITY_LINK
[r23232]
Michael Beck [Mon, 27 Oct 2008 14:23:51 +0000 (14:23 +0000)]
- completely get rid of useless assertion (skip_Id() want's non-const nodes)
[r23230]
Michael Beck [Mon, 27 Oct 2008 14:16:10 +0000 (14:16 +0000)]
- fixed (useless) assertion
[r23229]
Michael Beck [Sat, 25 Oct 2008 21:50:12 +0000 (21:50 +0000)]
- removed useless checking of control flow input for default_compute()
[r23193]
Michael Beck [Sat, 25 Oct 2008 21:48:15 +0000 (21:48 +0000)]
- BugFix: a - a is NOT 0 for NaN's
- a * 0 is NOT 0 for Inf
[r23192]