Matthias Braun [Sat, 2 Jun 2007 21:13:19 +0000 (21:13 +0000)]
fix immediate emitting
[r14277]
Matthias Braun [Sat, 2 Jun 2007 21:04:22 +0000 (21:04 +0000)]
attempt to fix Leas being placed before barrier
[r14276]
Matthias Braun [Sat, 2 Jun 2007 20:46:46 +0000 (20:46 +0000)]
we can parse lots of assembler constraints now (but not all yet), and emit immediates in asm nodes
[r14275]
Matthias Braun [Sat, 2 Jun 2007 20:25:32 +0000 (20:25 +0000)]
fix wrong initialisation for ARITY_DYNAMIC
[r14274]
Matthias Braun [Sat, 2 Jun 2007 19:46:58 +0000 (19:46 +0000)]
add is_Minus
[r14273]
Matthias Braun [Sat, 2 Jun 2007 19:37:33 +0000 (19:37 +0000)]
fix pnc dumper for SwitchJmp
[r14272]
Matthias Braun [Sat, 2 Jun 2007 19:35:18 +0000 (19:35 +0000)]
assert pnc
[r14271]
Matthias Braun [Sat, 2 Jun 2007 16:49:17 +0000 (16:49 +0000)]
more work on ia32 assembler nodes
[r14270]
Matthias Braun [Sat, 2 Jun 2007 16:48:19 +0000 (16:48 +0000)]
return ident in get_ASM_text
[r14269]
Matthias Braun [Sat, 2 Jun 2007 13:20:23 +0000 (13:20 +0000)]
cleanup and improve generate_opcode script, you can now have nodes with variable arities
[r14268]
Matthias Braun [Sat, 2 Jun 2007 13:19:21 +0000 (13:19 +0000)]
fix typo
[r14267]
Matthias Braun [Sat, 2 Jun 2007 13:18:59 +0000 (13:18 +0000)]
fix float/pinned flags of be nodes
[r14266]
Christoph Mallon [Sat, 2 Jun 2007 12:50:51 +0000 (12:50 +0000)]
Constify.
[r14265]
Michael Beck [Sat, 2 Jun 2007 00:55:10 +0000 (00:55 +0000)]
initial support for exception handling
[r14264]
Michael Beck [Sat, 2 Jun 2007 00:53:44 +0000 (00:53 +0000)]
initial support for exception handling
fixed dependence of the irp 1:1 number to opcode mapping
[r14263]
Michael Beck [Sat, 2 Jun 2007 00:51:47 +0000 (00:51 +0000)]
removed unused offs_sign attribute, added exc_label attribute
[r14262]
Michael Beck [Sat, 2 Jun 2007 00:50:50 +0000 (00:50 +0000)]
initial support for exception handling
[r14261]
Michael Beck [Sat, 2 Jun 2007 00:50:01 +0000 (00:50 +0000)]
create is_$arch_op() function
[r14260]
Michael Beck [Fri, 1 Jun 2007 21:22:19 +0000 (21:22 +0000)]
moved all lower_* header into new lowering.h
[r14259]
Michael Beck [Fri, 1 Jun 2007 21:04:56 +0000 (21:04 +0000)]
moved all lower_* header into new lowering.h
[r14256]
Michael Beck [Fri, 1 Jun 2007 20:54:41 +0000 (20:54 +0000)]
moved all lower_* header into new lowering.h
[r14255]
Michael Beck [Fri, 1 Jun 2007 20:48:59 +0000 (20:48 +0000)]
moved all lower_* header into new lowering.h
[r14254]
Michael Beck [Fri, 1 Jun 2007 19:58:48 +0000 (19:58 +0000)]
moved all lower_* header into new lowering.h
[r14253]
Michael Beck [Fri, 1 Jun 2007 19:30:05 +0000 (19:30 +0000)]
renamed daemel into naive :-)
[r14252]
Michael Beck [Fri, 1 Jun 2007 18:28:53 +0000 (18:28 +0000)]
typo fixed
[r14251]
Michael Beck [Fri, 1 Jun 2007 18:22:11 +0000 (18:22 +0000)]
removed wrongly placed
[r14250]
Matthias Braun [Fri, 1 Jun 2007 16:08:10 +0000 (16:08 +0000)]
move pseudo irg
[r14247]
Matthias Braun [Fri, 1 Jun 2007 15:55:50 +0000 (15:55 +0000)]
move adt headers
[r14243]
Matthias Braun [Fri, 1 Jun 2007 15:50:18 +0000 (15:50 +0000)]
forgto to add that
[r14241]
Matthias Braun [Fri, 1 Jun 2007 15:47:30 +0000 (15:47 +0000)]
moved external headers into include dir
[r14240]
Christoph Mallon [Thu, 31 May 2007 18:52:39 +0000 (18:52 +0000)]
Constify.
[r14224]
Michael Beck [Thu, 31 May 2007 17:30:25 +0000 (17:30 +0000)]
Initialization fixed
[r14223]
Michael Beck [Thu, 31 May 2007 17:24:52 +0000 (17:24 +0000)]
bedaemelspill.c added
[r14222]
Michael Beck [Thu, 31 May 2007 17:21:46 +0000 (17:21 +0000)]
Add constraints to the ASM node
[r14220]
Matthias Braun [Thu, 31 May 2007 16:28:18 +0000 (16:28 +0000)]
more work on daemel spiller
[r14219]
Michael Beck [Thu, 31 May 2007 15:52:34 +0000 (15:52 +0000)]
added constraints to ASM nodes
[r14215]
Michael Beck [Thu, 31 May 2007 15:51:32 +0000 (15:51 +0000)]
Added changes for inline assembler
[r14214]
Matthias Braun [Thu, 31 May 2007 11:48:50 +0000 (11:48 +0000)]
fix assembler nodes
[r14211]
Michael Beck [Thu, 31 May 2007 07:30:53 +0000 (07:30 +0000)]
fixed partBlock construction
[r14210]
Michael Beck [Wed, 30 May 2007 22:28:59 +0000 (22:28 +0000)]
Added test for inline assembler
[r14207]
Michael Beck [Wed, 30 May 2007 22:27:02 +0000 (22:27 +0000)]
is_ASM() added
[r14206]
Michael Beck [Wed, 30 May 2007 22:26:30 +0000 (22:26 +0000)]
preliminary emitter for ASM nodes
[r14205]
Michael Beck [Wed, 30 May 2007 22:26:02 +0000 (22:26 +0000)]
schedule ASM nodes
[r14204]
Michael Beck [Wed, 30 May 2007 20:48:22 +0000 (20:48 +0000)]
placed the call the _get_irn_intra_arity() again into the assert: no need to execute it with NDEBUG: revert change 14194
[r14203]
Michael Beck [Wed, 30 May 2007 20:34:04 +0000 (20:34 +0000)]
enabled non-ia32 backends again: undo change 14191
[r14202]
Michael Beck [Wed, 30 May 2007 20:20:55 +0000 (20:20 +0000)]
reorder opcode registration to match iro_* order
[r14201]
Michael Beck [Wed, 30 May 2007 20:20:28 +0000 (20:20 +0000)]
Do not waste an opcode number. This ensures the 1:1 mapping from iro_* to opcode in the irp.
[r14200]
Michael Beck [Wed, 30 May 2007 20:19:08 +0000 (20:19 +0000)]
IA32-Backend expects that the irg has a iro_* to opcode mapping. Ensure that by an additional assert.
[r14199]
Michael Beck [Wed, 30 May 2007 20:16:26 +0000 (20:16 +0000)]
reorder opcode registration to match iro_* order
[r14198]
Christian Würdig [Wed, 30 May 2007 17:00:01 +0000 (17:00 +0000)]
changed attribute name from asm to assem as asm is a reserved keyword an GCC does not like it as attribute name
[r14197]
Andreas Schösser [Wed, 30 May 2007 16:30:51 +0000 (16:30 +0000)]
vproj nodes
[r14194]
Andreas Schösser [Wed, 30 May 2007 16:30:17 +0000 (16:30 +0000)]
fixed bug: Wrong opcode range was requested in be
[r14193]
Andreas Schösser [Wed, 30 May 2007 16:29:54 +0000 (16:29 +0000)]
fixed bug: Wrong opcode range was requested in be
[r14192]
Andreas Schösser [Wed, 30 May 2007 16:29:43 +0000 (16:29 +0000)]
fixed bug: Wrong opcode range was requested in be
[r14191]
Michael Beck [Wed, 30 May 2007 16:18:41 +0000 (16:18 +0000)]
renamed reserved word asm :-)
[r14190]
Michael Beck [Wed, 30 May 2007 16:16:06 +0000 (16:16 +0000)]
Added preliminary ASM node.
Fixed Proj(X_regular) node dumping.
[r14188]
Matthias Braun [Wed, 30 May 2007 14:08:38 +0000 (14:08 +0000)]
keep alive bugfixes for x87
[r14183]
Michael Beck [Wed, 30 May 2007 13:10:44 +0000 (13:10 +0000)]
Add missing keep bits to fld* instructions
[r14182]
Michael Beck [Wed, 30 May 2007 13:06:47 +0000 (13:06 +0000)]
Add constructors for PartBlock
renamed boolean attributes x into is_x
[r14181]
Matthias Braun [Wed, 30 May 2007 12:49:38 +0000 (12:49 +0000)]
fix xStoreSimple and SetST0
[r14179]
Michael Beck [Wed, 30 May 2007 12:41:44 +0000 (12:41 +0000)]
get_divop_resmod() added
PartBlock() constructors added
renamed boolean attributes x into is_x
[r14178]
Matthias Braun [Wed, 30 May 2007 12:39:05 +0000 (12:39 +0000)]
make x87 float mode default
[r14177]
Matthias Braun [Wed, 30 May 2007 12:34:04 +0000 (12:34 +0000)]
place spills after keeps
[r14176]
Michael Beck [Tue, 29 May 2007 16:07:45 +0000 (16:07 +0000)]
fixed turn_into_tuple()
[r14132]
Michael Beck [Tue, 29 May 2007 16:07:02 +0000 (16:07 +0000)]
copy 'n' paste error fixed
[r14131]
Michael Beck [Tue, 29 May 2007 15:23:46 +0000 (15:23 +0000)]
convopt.[ch] added
[r14124]
Matthias Braun [Tue, 29 May 2007 15:04:00 +0000 (15:04 +0000)]
spill phis in daemel spiller
[r14115]
Matthias Braun [Tue, 29 May 2007 14:57:17 +0000 (14:57 +0000)]
added the daemel spiller(tm) :-), it should be similar to the stupid interference graph based spilling most other register allocators do
[r14113]
Matthias Braun [Tue, 29 May 2007 14:56:30 +0000 (14:56 +0000)]
cleanups in spill helper code
[r14112]
Matthias Braun [Tue, 29 May 2007 14:50:47 +0000 (14:50 +0000)]
ia32 was missing spill cost estimates
[r14110]
Christoph Mallon [Mon, 28 May 2007 10:15:40 +0000 (10:15 +0000)]
Constify.
[r14066]
Christoph Mallon [Mon, 28 May 2007 10:06:34 +0000 (10:06 +0000)]
Remove unused variables.
[r14065]
Christoph Mallon [Sun, 27 May 2007 10:12:47 +0000 (10:12 +0000)]
Make the conv opt analysis and transformation code symmetrical.
[r14051]
Christoph Mallon [Sat, 26 May 2007 17:45:57 +0000 (17:45 +0000)]
- Push Convs through Phis
- Fix an off by one error which made the decision to do the Conv transformation too conservative
- Iterate Conv opt and local opt till the fix point is reached
[r14049]
Christoph Mallon [Sat, 26 May 2007 10:43:19 +0000 (10:43 +0000)]
Add the -f{,no-}deconv switches do {en,dis}able the conv node optimization.
[r14048]
Michael Beck [Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)]
BugFix: type conversion must signed extend for the destination mode
[r14042]
Michael Beck [Fri, 25 May 2007 16:37:55 +0000 (16:37 +0000)]
BugFix: _divmod() returned wrong result for -x/x : fixed
Indentation changed
[r14041]
Michael Beck [Fri, 25 May 2007 14:42:59 +0000 (14:42 +0000)]
int instruction added
[r14039]
Michael Beck [Fri, 25 May 2007 14:36:44 +0000 (14:36 +0000)]
Use new result mode and updated X_regular for the runtime call mapper
[r14037]
Michael Beck [Fri, 25 May 2007 14:35:51 +0000 (14:35 +0000)]
handle the new X_regular Proj's
add support for mode_T nodes with a result mode (currently Load and Div like)
[r14036]
Michael Beck [Fri, 25 May 2007 14:34:54 +0000 (14:34 +0000)]
add_hidden_param() handle the new X_regular Proj
[r14035]
Christoph Mallon [Thu, 24 May 2007 13:36:03 +0000 (13:36 +0000)]
Add missing break in a switch which caused an incorrect assertion.
[r14025]
Michael Beck [Thu, 24 May 2007 13:34:00 +0000 (13:34 +0000)]
turn_into_tuple() should use get_irn_n(..., -1) instead of get_nodes_block()
some reformatting
[r14024]
Michael Beck [Thu, 24 May 2007 13:00:43 +0000 (13:00 +0000)]
Do not add Bad nodes to the keep-alive
Removed old (and wrong) comment
[r14022]
Michael Beck [Thu, 24 May 2007 12:40:00 +0000 (12:40 +0000)]
fixed verify for new X_regular Proj's
fixed Bound, CopyB node verifier
changed indentation
[r14021]
Michael Beck [Wed, 23 May 2007 23:54:06 +0000 (23:54 +0000)]
removed impossible address modes
convert Lea's into Shl if possible
[r14015]
Michael Beck [Wed, 23 May 2007 23:53:03 +0000 (23:53 +0000)]
some doxygen comments added
removed impossible address modes
[r14014]
Michael Beck [Wed, 23 May 2007 23:52:15 +0000 (23:52 +0000)]
Fixed the (meanwhile wrong) turn_into_tuple(...,4), so inlining works again.
[r14013]
Christoph Mallon [Wed, 23 May 2007 21:00:07 +0000 (21:00 +0000)]
Cond nodes are a kind of cf node, too. Therefore also ignore them when copying block contents during condeval. Otherwise this leads to fake users during repeated condeval and somehow to a violation of the def-use-dominance.
[r14012]
Matthias Braun [Wed, 23 May 2007 20:18:10 +0000 (20:18 +0000)]
emit .skip if a string initializer is shorter than the entity
[r14011]
Matthias Braun [Wed, 23 May 2007 20:11:24 +0000 (20:11 +0000)]
fehler 16, found in 255.vortex
[r14010]
Matthias Braun [Wed, 23 May 2007 18:43:07 +0000 (18:43 +0000)]
fix height computation for phi nodes
[r14009]
Michael Beck [Wed, 23 May 2007 15:52:30 +0000 (15:52 +0000)]
Added new Proj_X_regular for all nodes producing a Proj_X_exc to support the new macro blocks
[r14008]
Michael Beck [Wed, 23 May 2007 15:47:08 +0000 (15:47 +0000)]
missing include added
[r14007]
Michael Beck [Wed, 23 May 2007 15:07:28 +0000 (15:07 +0000)]
added a callback function to check whether a given entity is a allocation call
[r14006]
Michael Beck [Wed, 23 May 2007 13:56:17 +0000 (13:56 +0000)]
add_irn_keepalive()
- only Phi, Block and Keep nodes can be kept alive!
Workaround for beabi:
- beabi needs to keep a Proj(M) :-(
[r14005]
Michael Beck [Wed, 23 May 2007 13:15:57 +0000 (13:15 +0000)]
- changed Phi0 attribute to be a struct
- Phi0 attribute is only available onb Phi0 nodes
This should now allow CSE on Phi nodes!
[r14002]
Christian Würdig [Wed, 23 May 2007 11:31:45 +0000 (11:31 +0000)]
added some comments
removed unused code
added some optimizations
[r14001]
Michael Beck [Wed, 23 May 2007 10:03:32 +0000 (10:03 +0000)]
Used new Div result mode
[r13999]
Michael Beck [Wed, 23 May 2007 10:02:13 +0000 (10:02 +0000)]
Verify new result mode
[r13997]