libfirm
17 years agoConfirm optimizations honor the exception region attribute.
Michael Beck [Sun, 3 Jun 2007 14:08:39 +0000 (14:08 +0000)]
Confirm optimizations honor the exception region attribute.

[r14295]

17 years agoAdded next_region_nr attribute to the ir_prog.
Michael Beck [Sun, 3 Jun 2007 14:07:32 +0000 (14:07 +0000)]
Added next_region_nr attribute to the ir_prog.

[r14294]

17 years agoAdded next_region_nr attribute to the ir_prog.
Michael Beck [Sun, 3 Jun 2007 14:07:06 +0000 (14:07 +0000)]
Added next_region_nr attribute to the ir_prog.

[r14293]

17 years agoAdded exception region attribute to blocks and confirm nodes.
Michael Beck [Sun, 3 Jun 2007 14:06:30 +0000 (14:06 +0000)]
Added exception region attribute to blocks and confirm nodes.
Added is_Tuple().
Fixed some doxygen comments.

[r14292]

17 years agoAdded exception region attribute to blocks and confirm nodes.
Michael Beck [Sun, 3 Jun 2007 14:04:05 +0000 (14:04 +0000)]
Added exception region attribute to blocks and confirm nodes.
Added is_Tuple().

[r14291]

17 years agoSet the exc_label for Load and Store nodes.
Michael Beck [Sun, 3 Jun 2007 14:03:02 +0000 (14:03 +0000)]
Set the exc_label for Load and Store nodes.
C99 features removed.

[r14290]

17 years agoadd comment about strange regalloc behaviour
Matthias Braun [Sun, 3 Jun 2007 13:25:49 +0000 (13:25 +0000)]
add comment about strange regalloc behaviour

[r14289]

17 years agomore missing constraints
Matthias Braun [Sun, 3 Jun 2007 12:57:34 +0000 (12:57 +0000)]
more missing constraints

[r14288]

17 years agosame_as constraints in assembler nodes work now
Matthias Braun [Sun, 3 Jun 2007 12:53:44 +0000 (12:53 +0000)]
same_as constraints in assembler nodes work now

[r14287]

17 years agoTurn the ia32_transform_env_t transformation environment into a static global variabl...
Christoph Mallon [Sun, 3 Jun 2007 12:08:51 +0000 (12:08 +0000)]
Turn the ia32_transform_env_t transformation environment into a static global variable. This removes lots of parameters which are all the same and should save quite a bit of stack in the deep transformation recursion.

[r14286]

17 years agomore dependency edges needed
Matthias Braun [Sat, 2 Jun 2007 21:41:24 +0000 (21:41 +0000)]
more dependency edges needed

[r14278]

17 years agofix immediate emitting
Matthias Braun [Sat, 2 Jun 2007 21:13:19 +0000 (21:13 +0000)]
fix immediate emitting

[r14277]

17 years agoattempt to fix Leas being placed before barrier
Matthias Braun [Sat, 2 Jun 2007 21:04:22 +0000 (21:04 +0000)]
attempt to fix Leas being placed before barrier

[r14276]

17 years agowe can parse lots of assembler constraints now (but not all yet), and emit immediates...
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]

17 years agofix wrong initialisation for ARITY_DYNAMIC
Matthias Braun [Sat, 2 Jun 2007 20:25:32 +0000 (20:25 +0000)]
fix wrong initialisation for ARITY_DYNAMIC

[r14274]

17 years agoadd is_Minus
Matthias Braun [Sat, 2 Jun 2007 19:46:58 +0000 (19:46 +0000)]
add is_Minus

[r14273]

17 years agofix pnc dumper for SwitchJmp
Matthias Braun [Sat, 2 Jun 2007 19:37:33 +0000 (19:37 +0000)]
fix pnc dumper for SwitchJmp

[r14272]

17 years agoassert pnc
Matthias Braun [Sat, 2 Jun 2007 19:35:18 +0000 (19:35 +0000)]
assert pnc

[r14271]

17 years agomore work on ia32 assembler nodes
Matthias Braun [Sat, 2 Jun 2007 16:49:17 +0000 (16:49 +0000)]
more work on ia32 assembler nodes

[r14270]

17 years agoreturn ident in get_ASM_text
Matthias Braun [Sat, 2 Jun 2007 16:48:19 +0000 (16:48 +0000)]
return ident in get_ASM_text

[r14269]

17 years agocleanup and improve generate_opcode script, you can now have nodes with variable...
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]

17 years agofix typo
Matthias Braun [Sat, 2 Jun 2007 13:19:21 +0000 (13:19 +0000)]
fix typo

[r14267]

17 years agofix float/pinned flags of be nodes
Matthias Braun [Sat, 2 Jun 2007 13:18:59 +0000 (13:18 +0000)]
fix float/pinned flags of be nodes

[r14266]

17 years agoConstify.
Christoph Mallon [Sat, 2 Jun 2007 12:50:51 +0000 (12:50 +0000)]
Constify.

[r14265]

17 years agoinitial support for exception handling
Michael Beck [Sat, 2 Jun 2007 00:55:10 +0000 (00:55 +0000)]
initial support for exception handling

[r14264]

17 years agoinitial support for exception handling
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]

17 years agoremoved unused offs_sign attribute, added exc_label attribute
Michael Beck [Sat, 2 Jun 2007 00:51:47 +0000 (00:51 +0000)]
removed unused offs_sign attribute, added exc_label attribute

[r14262]

17 years agoinitial support for exception handling
Michael Beck [Sat, 2 Jun 2007 00:50:50 +0000 (00:50 +0000)]
initial support for exception handling

[r14261]

17 years agocreate is_$arch_op() function
Michael Beck [Sat, 2 Jun 2007 00:50:01 +0000 (00:50 +0000)]
create is_$arch_op() function

[r14260]

17 years agomoved all lower_* header into new lowering.h
Michael Beck [Fri, 1 Jun 2007 21:22:19 +0000 (21:22 +0000)]
moved all lower_* header into new lowering.h

[r14259]

17 years agomoved all lower_* header into new lowering.h
Michael Beck [Fri, 1 Jun 2007 21:04:56 +0000 (21:04 +0000)]
moved all lower_* header into new lowering.h

[r14256]

17 years agomoved all lower_* header into new lowering.h
Michael Beck [Fri, 1 Jun 2007 20:54:41 +0000 (20:54 +0000)]
moved all lower_* header into new lowering.h

[r14255]

17 years agomoved all lower_* header into new lowering.h
Michael Beck [Fri, 1 Jun 2007 20:48:59 +0000 (20:48 +0000)]
moved all lower_* header into new lowering.h

[r14254]

17 years agomoved all lower_* header into new lowering.h
Michael Beck [Fri, 1 Jun 2007 19:58:48 +0000 (19:58 +0000)]
moved all lower_* header into new lowering.h

[r14253]

17 years agorenamed daemel into naive :-)
Michael Beck [Fri, 1 Jun 2007 19:30:05 +0000 (19:30 +0000)]
renamed daemel into naive :-)

[r14252]

17 years agotypo fixed
Michael Beck [Fri, 1 Jun 2007 18:28:53 +0000 (18:28 +0000)]
typo fixed

[r14251]

17 years agoremoved wrongly placed
Michael Beck [Fri, 1 Jun 2007 18:22:11 +0000 (18:22 +0000)]
removed wrongly placed

[r14250]

17 years agomove pseudo irg
Matthias Braun [Fri, 1 Jun 2007 16:08:10 +0000 (16:08 +0000)]
move pseudo irg

[r14247]

17 years agomove adt headers
Matthias Braun [Fri, 1 Jun 2007 15:55:50 +0000 (15:55 +0000)]
move adt headers

[r14243]

17 years agoforgto to add that
Matthias Braun [Fri, 1 Jun 2007 15:50:18 +0000 (15:50 +0000)]
forgto to add that

[r14241]

17 years agomoved external headers into include dir
Matthias Braun [Fri, 1 Jun 2007 15:47:30 +0000 (15:47 +0000)]
moved external headers into include dir

[r14240]

17 years agoConstify.
Christoph Mallon [Thu, 31 May 2007 18:52:39 +0000 (18:52 +0000)]
Constify.

[r14224]

17 years agoInitialization fixed
Michael Beck [Thu, 31 May 2007 17:30:25 +0000 (17:30 +0000)]
Initialization fixed

[r14223]

17 years agobedaemelspill.c added
Michael Beck [Thu, 31 May 2007 17:24:52 +0000 (17:24 +0000)]
bedaemelspill.c added

[r14222]

17 years agoAdd constraints to the ASM node
Michael Beck [Thu, 31 May 2007 17:21:46 +0000 (17:21 +0000)]
Add constraints to the ASM node

[r14220]

17 years agomore work on daemel spiller
Matthias Braun [Thu, 31 May 2007 16:28:18 +0000 (16:28 +0000)]
more work on daemel spiller

[r14219]

17 years agoadded constraints to ASM nodes
Michael Beck [Thu, 31 May 2007 15:52:34 +0000 (15:52 +0000)]
added constraints to ASM nodes

[r14215]

17 years agoAdded changes for inline assembler
Michael Beck [Thu, 31 May 2007 15:51:32 +0000 (15:51 +0000)]
Added changes for inline assembler

[r14214]

17 years agofix assembler nodes
Matthias Braun [Thu, 31 May 2007 11:48:50 +0000 (11:48 +0000)]
fix assembler nodes

[r14211]

17 years agofixed partBlock construction
Michael Beck [Thu, 31 May 2007 07:30:53 +0000 (07:30 +0000)]
fixed partBlock construction

[r14210]

17 years agoAdded test for inline assembler
Michael Beck [Wed, 30 May 2007 22:28:59 +0000 (22:28 +0000)]
Added test for inline assembler

[r14207]

17 years agois_ASM() added
Michael Beck [Wed, 30 May 2007 22:27:02 +0000 (22:27 +0000)]
is_ASM() added

[r14206]

17 years agopreliminary emitter for ASM nodes
Michael Beck [Wed, 30 May 2007 22:26:30 +0000 (22:26 +0000)]
preliminary emitter for ASM nodes

[r14205]

17 years agoschedule ASM nodes
Michael Beck [Wed, 30 May 2007 22:26:02 +0000 (22:26 +0000)]
schedule ASM nodes

[r14204]

17 years agoplaced the call the _get_irn_intra_arity() again into the assert: no need to execute...
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]

17 years agoenabled non-ia32 backends again: undo change 14191
Michael Beck [Wed, 30 May 2007 20:34:04 +0000 (20:34 +0000)]
enabled non-ia32 backends again: undo change 14191

[r14202]

17 years agoreorder opcode registration to match iro_* order
Michael Beck [Wed, 30 May 2007 20:20:55 +0000 (20:20 +0000)]
reorder opcode registration to match iro_* order

[r14201]

17 years agoDo not waste an opcode number. This ensures the 1:1 mapping from iro_* to opcode...
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]

17 years agoIA32-Backend expects that the irg has a iro_* to opcode mapping. Ensure that by an...
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]

17 years agoreorder opcode registration to match iro_* order
Michael Beck [Wed, 30 May 2007 20:16:26 +0000 (20:16 +0000)]
reorder opcode registration to match iro_* order

[r14198]

17 years agochanged attribute name from asm to assem as asm is a reserved keyword an GCC does...
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]

17 years agovproj nodes
Andreas Schösser [Wed, 30 May 2007 16:30:51 +0000 (16:30 +0000)]
vproj nodes

[r14194]

17 years agofixed bug: Wrong opcode range was requested in be
Andreas Schösser [Wed, 30 May 2007 16:30:17 +0000 (16:30 +0000)]
fixed bug: Wrong opcode range was requested in be

[r14193]

17 years agofixed bug: Wrong opcode range was requested in be
Andreas Schösser [Wed, 30 May 2007 16:29:54 +0000 (16:29 +0000)]
fixed bug: Wrong opcode range was requested in be

[r14192]

17 years agofixed bug: Wrong opcode range was requested in be
Andreas Schösser [Wed, 30 May 2007 16:29:43 +0000 (16:29 +0000)]
fixed bug: Wrong opcode range was requested in be

[r14191]

17 years agorenamed reserved word asm :-)
Michael Beck [Wed, 30 May 2007 16:18:41 +0000 (16:18 +0000)]
renamed reserved word asm :-)

[r14190]

17 years agoAdded preliminary ASM node.
Michael Beck [Wed, 30 May 2007 16:16:06 +0000 (16:16 +0000)]
Added preliminary ASM node.
Fixed Proj(X_regular) node dumping.

[r14188]

17 years agokeep alive bugfixes for x87
Matthias Braun [Wed, 30 May 2007 14:08:38 +0000 (14:08 +0000)]
keep alive bugfixes for x87

[r14183]

17 years agoAdd missing keep bits to fld* instructions
Michael Beck [Wed, 30 May 2007 13:10:44 +0000 (13:10 +0000)]
Add missing keep bits to fld* instructions

[r14182]

17 years agoAdd constructors for PartBlock
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]

17 years agofix xStoreSimple and SetST0
Matthias Braun [Wed, 30 May 2007 12:49:38 +0000 (12:49 +0000)]
fix xStoreSimple and SetST0

[r14179]

17 years agoget_divop_resmod() added
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]

17 years agomake x87 float mode default
Matthias Braun [Wed, 30 May 2007 12:39:05 +0000 (12:39 +0000)]
make x87 float mode default

[r14177]

17 years agoplace spills after keeps
Matthias Braun [Wed, 30 May 2007 12:34:04 +0000 (12:34 +0000)]
place spills after keeps

[r14176]

17 years agofixed turn_into_tuple()
Michael Beck [Tue, 29 May 2007 16:07:45 +0000 (16:07 +0000)]
fixed turn_into_tuple()

[r14132]

17 years agocopy 'n' paste error fixed
Michael Beck [Tue, 29 May 2007 16:07:02 +0000 (16:07 +0000)]
copy 'n' paste error fixed

[r14131]

17 years agoconvopt.[ch] added
Michael Beck [Tue, 29 May 2007 15:23:46 +0000 (15:23 +0000)]
convopt.[ch] added

[r14124]

17 years agospill phis in daemel spiller
Matthias Braun [Tue, 29 May 2007 15:04:00 +0000 (15:04 +0000)]
spill phis in daemel spiller

[r14115]

17 years agoadded the daemel spiller(tm) :-), it should be similar to the stupid interference...
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]

17 years agocleanups in spill helper code
Matthias Braun [Tue, 29 May 2007 14:56:30 +0000 (14:56 +0000)]
cleanups in spill helper code

[r14112]

17 years agoia32 was missing spill cost estimates
Matthias Braun [Tue, 29 May 2007 14:50:47 +0000 (14:50 +0000)]
ia32 was missing spill cost estimates

[r14110]

17 years agoConstify.
Christoph Mallon [Mon, 28 May 2007 10:15:40 +0000 (10:15 +0000)]
Constify.

[r14066]

17 years agoRemove unused variables.
Christoph Mallon [Mon, 28 May 2007 10:06:34 +0000 (10:06 +0000)]
Remove unused variables.

[r14065]

17 years agoMake the conv opt analysis and transformation code symmetrical.
Christoph Mallon [Sun, 27 May 2007 10:12:47 +0000 (10:12 +0000)]
Make the conv opt analysis and transformation code symmetrical.

[r14051]

17 years ago- Push Convs through Phis
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]

17 years agoAdd the -f{,no-}deconv switches do {en,dis}able the conv node optimization.
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]

17 years agoBugFix: type conversion must signed extend for the destination mode
Michael Beck [Fri, 25 May 2007 16:46:23 +0000 (16:46 +0000)]
BugFix: type conversion must signed extend for the destination mode

[r14042]

17 years agoBugFix: _divmod() returned wrong result for -x/x : fixed
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]

17 years agoint instruction added
Michael Beck [Fri, 25 May 2007 14:42:59 +0000 (14:42 +0000)]
int instruction added

[r14039]

17 years agoUse new result mode and updated X_regular for the runtime call mapper
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]

17 years agohandle the new X_regular Proj's
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]

17 years agoadd_hidden_param() handle the new X_regular Proj
Michael Beck [Fri, 25 May 2007 14:34:54 +0000 (14:34 +0000)]
add_hidden_param() handle the new X_regular Proj

[r14035]

17 years agoAdd missing break in a switch which caused an incorrect assertion.
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]

17 years agoturn_into_tuple() should use get_irn_n(..., -1) instead of get_nodes_block()
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]

17 years agoDo not add Bad nodes to the keep-alive
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]

17 years agofixed verify for new X_regular Proj's
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]

17 years agoremoved impossible address modes
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]

17 years agosome doxygen comments added
Michael Beck [Wed, 23 May 2007 23:53:03 +0000 (23:53 +0000)]
some doxygen comments added
removed impossible address modes

[r14014]

17 years agoFixed the (meanwhile wrong) turn_into_tuple(...,4), so inlining works again.
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]

17 years agoCond nodes are a kind of cf node, too. Therefore also ignore them when copying block...
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]