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]
Matthias Braun [Sat, 25 Oct 2008 20:43:29 +0000 (20:43 +0000)]
don't ask mode_T node for output register
[r23190]
Matthias Braun [Sat, 25 Oct 2008 19:30:41 +0000 (19:30 +0000)]
mark ebp output of leave as ignore
[r23186]
Matthias Braun [Sat, 25 Oct 2008 19:30:12 +0000 (19:30 +0000)]
fix fehler161 to link correctly
[r23185]
Michael Beck [Sat, 25 Oct 2008 19:07:37 +0000 (19:07 +0000)]
demonstrates \!chunk->deleted assertion
[r23182]
Michael Beck [Fri, 24 Oct 2008 20:55:37 +0000 (20:55 +0000)]
- handling of Top mode can be switched on/off at runtime (although no flag yet)
- Fix for a rare problem: when checking commutative touched nodes, we must distinguish between op(a, a) and op(a, b): these are NOT congruent and must not be on the same touched list
[r23178]
Sebastian Buchwald [Fri, 24 Oct 2008 20:51:43 +0000 (20:51 +0000)]
Kill Perm after pushing all operands through it.
[r23177]
Christoph Mallon [Fri, 24 Oct 2008 17:32:01 +0000 (17:32 +0000)]
Let edges_assure() only activate edge kinds, which are not activated yet.
[r23176]
Andreas Zwinkau [Fri, 24 Oct 2008 17:02:19 +0000 (17:02 +0000)]
Clear private data, when creating new out edges
[r23173]
Michael Beck [Fri, 24 Oct 2008 13:32:06 +0000 (13:32 +0000)]
- fixed output
[r23170]
Andreas Zwinkau [Fri, 24 Oct 2008 13:28:42 +0000 (13:28 +0000)]
Just assure edges, instead of blindly activating them
Maybe edges_activate_kind should assert !info->activated ?
[r23169]
Michael Beck [Fri, 24 Oct 2008 03:49:08 +0000 (03:49 +0000)]
- replaced the linear search with quadratic runtime inside normal_select()
by a mostly O(1) access
- simpler memory freeing
[r23161]
Michael Beck [Fri, 24 Oct 2008 03:03:29 +0000 (03:03 +0000)]
- fixed all memory leaks
[r23160]
Michael Beck [Fri, 24 Oct 2008 02:51:00 +0000 (02:51 +0000)]
- fixed some memory leaks
- link resource is used until scheduler ends, honor that
[r23159]
Michael Beck [Fri, 24 Oct 2008 02:24:14 +0000 (02:24 +0000)]
- small cleanup
[r23158]
Michael Beck [Fri, 24 Oct 2008 02:05:03 +0000 (02:05 +0000)]
- reserve the visited resource
[r23157]
Michael Beck [Fri, 24 Oct 2008 02:02:11 +0000 (02:02 +0000)]
- use xmalloc instead of malloc
- reserve the IRN_LINK resource
[r23156]
Michael Beck [Fri, 24 Oct 2008 01:37:03 +0000 (01:37 +0000)]
- add a hook for normalizing a node
- used new hook to count number of normalizations
[r23155]
Michael Beck [Fri, 24 Oct 2008 01:31:29 +0000 (01:31 +0000)]
- C99 features removed
[r23154]
Michael Beck [Thu, 23 Oct 2008 22:26:27 +0000 (22:26 +0000)]
- better solution for the "mode_M node computes Top" problem
[r23152]
Christoph Mallon [Thu, 23 Oct 2008 19:03:06 +0000 (19:03 +0000)]
Simplify dump_node_req().
[r23144]