libfirm
13 years agodocument the new behaviour of set_entity_owner which has been there for a while now
Matthias Braun [Thu, 12 Aug 2010 12:16:45 +0000 (12:16 +0000)]
document the new behaviour of set_entity_owner which has been there for a while now

[r27923]

13 years agoAdapt to coding conventions.
Sebastian Buchwald [Mon, 9 Aug 2010 19:58:56 +0000 (19:58 +0000)]
Adapt to coding conventions.

[r27919]

13 years agosparc: redo and improve sparc immediate handling (low-part after sethi is now omitted...
Matthias Braun [Mon, 9 Aug 2010 14:53:12 +0000 (14:53 +0000)]
sparc: redo and improve sparc immediate handling (low-part after sethi is now omitted if it is 0)

[r27918]

13 years agosparc: mark Mul nodes as rematerializable
Matthias Braun [Mon, 9 Aug 2010 14:53:11 +0000 (14:53 +0000)]
sparc: mark Mul nodes as rematerializable

[r27917]

13 years agouse sub_immediate in case of add a,0x1000
Matthias Braun [Mon, 9 Aug 2010 14:53:11 +0000 (14:53 +0000)]
use sub_immediate in case of add a,0x1000

[r27916]

13 years agosparc: matching rules for andn and orn
Matthias Braun [Mon, 9 Aug 2010 14:53:10 +0000 (14:53 +0000)]
sparc: matching rules for andn and orn

[r27915]

13 years agosparc: pattern to match xnor
Matthias Braun [Mon, 9 Aug 2010 14:53:09 +0000 (14:53 +0000)]
sparc: pattern to match xnor

[r27914]

13 years agoimproved normalisation of not+eor nodes
Matthias Braun [Mon, 9 Aug 2010 14:53:08 +0000 (14:53 +0000)]
improved normalisation of not+eor nodes

[r27913]

13 years agosparc: No need for Minus, Not, Nop nodes. Implement with the real instructions Sub...
Matthias Braun [Mon, 9 Aug 2010 14:53:07 +0000 (14:53 +0000)]
sparc: No need for Minus, Not, Nop nodes. Implement with the real instructions Sub, XNor and zero register

[r27912]

13 years agosparc: use %g0 for 0 constants
Matthias Braun [Mon, 9 Aug 2010 14:53:06 +0000 (14:53 +0000)]
sparc: use %g0 for 0 constants

[r27911]

13 years agoextend register allocation verifier to check alignment and wide constraints
Matthias Braun [Mon, 9 Aug 2010 14:53:05 +0000 (14:53 +0000)]
extend register allocation verifier to check alignment and wide constraints

[r27910]

13 years agoallow ignore registers as inputs of Phis; cleanup bessadestr.c
Matthias Braun [Mon, 9 Aug 2010 14:53:04 +0000 (14:53 +0000)]
allow ignore registers as inputs of Phis; cleanup bessadestr.c

[r27909]

13 years agoadapt daemelspiller to wide register values
Matthias Braun [Mon, 9 Aug 2010 14:53:03 +0000 (14:53 +0000)]
adapt daemelspiller to wide register values

[r27908]

13 years agocorrectly use wide values in automatic phi register requirement determination
Matthias Braun [Mon, 9 Aug 2010 14:53:02 +0000 (14:53 +0000)]
correctly use wide values in automatic phi register requirement determination

[r27907]

13 years agoreformat and cleanup benode.c
Matthias Braun [Mon, 9 Aug 2010 14:53:02 +0000 (14:53 +0000)]
reformat and cleanup benode.c

[r27906]

13 years agocleanup spill code; assert that no wide values are used yet
Matthias Braun [Mon, 9 Aug 2010 14:53:01 +0000 (14:53 +0000)]
cleanup spill code; assert that no wide values are used yet

[r27905]

13 years agofix beabi not setting width in register constraint
Matthias Braun [Mon, 9 Aug 2010 14:52:59 +0000 (14:52 +0000)]
fix beabi not setting width in register constraint

[r27904]

13 years agodump double and aligned register requirements
Matthias Braun [Mon, 9 Aug 2010 14:52:59 +0000 (14:52 +0000)]
dump double and aligned register requirements

[r27903]

13 years agosparc: implement all floating point operations in single, double and quad mode
Matthias Braun [Mon, 9 Aug 2010 14:52:58 +0000 (14:52 +0000)]
sparc: implement all floating point operations in single, double and quad mode

[r27902]

13 years agosparc: remove old code which was only valid for old beabi handling
Matthias Braun [Mon, 9 Aug 2010 14:52:57 +0000 (14:52 +0000)]
sparc: remove old code which was only valid for old beabi handling

[r27901]

13 years agocleanup, simplify hungarian algorithm implementation
Matthias Braun [Mon, 9 Aug 2010 14:52:47 +0000 (14:52 +0000)]
cleanup, simplify hungarian algorithm implementation

[r27900]

13 years agoMostly reverted r27894, removed usage of unreachable.
Michael Beck [Sat, 7 Aug 2010 14:47:29 +0000 (14:47 +0000)]
Mostly reverted r27894, removed usage of unreachable.

The gain from using an extra Unreachable is rather low, plus the noreturn call must probably be keeped anyway, so revrt it again

[r27898]

13 years agoAdd an Unreachable node.
Michael Beck [Sat, 7 Aug 2010 10:07:51 +0000 (10:07 +0000)]
Add an Unreachable node.

Unreachable nodes mark unreachable control flow (after noreturn calls). They
"eat" the memory, saving the two keeps used before.

Works mostly yet (scheduler issues warning about not scheduled Unreachable's)

[r27894]

13 years agoC99 feature removed.
Michael Beck [Sat, 7 Aug 2010 09:07:46 +0000 (09:07 +0000)]
C99 feature removed.

[r27892]

13 years agoPanic in case of an invalid solution.
Sebastian Buchwald [Fri, 6 Aug 2010 19:01:11 +0000 (19:01 +0000)]
Panic in case of an invalid solution.

[r27891]

13 years agoFixed warning.
Sebastian Buchwald [Fri, 6 Aug 2010 19:01:10 +0000 (19:01 +0000)]
Fixed warning.

[r27890]

13 years agoIgnore kaps directory.
Sebastian Buchwald [Fri, 6 Aug 2010 17:55:59 +0000 (17:55 +0000)]
Ignore kaps directory.

[r27887]

13 years agoRemove redundant reg_req from SPARC nodes with constructors.
Christoph Mallon [Fri, 6 Aug 2010 17:14:53 +0000 (17:14 +0000)]
Remove redundant reg_req from SPARC nodes with constructors.

[r27886]

13 years agoCorrect and clean up gen_Abs() for SPARC: The Sub was the wrong way round.
Christoph Mallon [Fri, 6 Aug 2010 17:14:52 +0000 (17:14 +0000)]
Correct and clean up gen_Abs() for SPARC: The Sub was the wrong way round.

[r27885]

13 years agoIndent.
Christoph Mallon [Fri, 6 Aug 2010 17:14:51 +0000 (17:14 +0000)]
Indent.

[r27884]

13 years agoRemove redundant bitset_clear_all() before bitset_copy().
Christoph Mallon [Fri, 6 Aug 2010 17:14:50 +0000 (17:14 +0000)]
Remove redundant bitset_clear_all() before bitset_copy().

[r27883]

13 years agoDirectly remember the pointer instead of an index to reconstruct the pointer.
Christoph Mallon [Fri, 6 Aug 2010 17:14:49 +0000 (17:14 +0000)]
Directly remember the pointer instead of an index to reconstruct the pointer.

[r27882]

13 years agoRemove a loop invariant summand from finding a minimum.
Christoph Mallon [Fri, 6 Aug 2010 17:14:46 +0000 (17:14 +0000)]
Remove a loop invariant summand from finding a minimum.

[r27881]

13 years agofix for my last commit
Matthias Braun [Fri, 6 Aug 2010 08:43:29 +0000 (08:43 +0000)]
fix for my last commit

[r27879]

13 years agoRemove VISITED in link-field hackery. Cleanups.
Matthias Braun [Fri, 6 Aug 2010 08:42:18 +0000 (08:42 +0000)]
Remove VISITED in link-field hackery. Cleanups.

[r27878]

13 years agoFixed comment.
Sebastian Buchwald [Fri, 6 Aug 2010 08:08:04 +0000 (08:08 +0000)]
Fixed comment.

[r27877]

13 years agomake sure the width field is always initialized to 1 for normal constraints
Matthias Braun [Thu, 5 Aug 2010 19:04:58 +0000 (19:04 +0000)]
make sure the width field is always initialized to 1 for normal constraints

[r27875]

13 years agobackend: created a (not so nice) macro to iterate over all values defined by an instr...
Matthias Braun [Thu, 5 Aug 2010 19:04:57 +0000 (19:04 +0000)]
backend: created a (not so nice) macro to iterate over all values defined by an instruction. This avoids lots of small-scale code duplication in the spillers and the prefallocator

[r27874]

13 years agofix lower_mode_b relying on current_ir_graph being equal to the passed irg; make...
Matthias Braun [Thu, 5 Aug 2010 19:04:55 +0000 (19:04 +0000)]
fix lower_mode_b relying on current_ir_graph being equal to the passed irg; make lower_mode_b invalidate outedges if something changes

[r27873]

13 years agoNow bipartite matching can be used for pre-coloring restricted cliques after a perm.
Thomas Bersch [Wed, 4 Aug 2010 14:55:18 +0000 (14:55 +0000)]
Now bipartite matching can be used for pre-coloring restricted cliques after a perm.

[r27871]

13 years agofix some cases where doubleword lowering didn't use the unsigned type for the lower...
Matthias Braun [Mon, 2 Aug 2010 14:35:03 +0000 (14:35 +0000)]
fix some cases where doubleword lowering didn't use the unsigned type for the lower word

[r27868]

13 years agoDuplicate GetEIP when transforming.
Christoph Mallon [Mon, 2 Aug 2010 14:03:50 +0000 (14:03 +0000)]
Duplicate GetEIP when transforming.

[r27865]

13 years agosimplify doubleword lowering: we have a type for each mode by default nowadays
Matthias Braun [Mon, 2 Aug 2010 11:50:40 +0000 (11:50 +0000)]
simplify doubleword lowering: we have a type for each mode by default nowadays

[r27861]

13 years agoremove odd mode->index, index->mode API for statistics, ir_prog already had such...
Matthias Braun [Mon, 2 Aug 2010 11:50:39 +0000 (11:50 +0000)]
remove odd mode->index, index->mode API for statistics, ir_prog already had such an API

[r27860]

13 years agoDisable timer.
Sebastian Buchwald [Fri, 30 Jul 2010 14:33:54 +0000 (14:33 +0000)]
Disable timer.

[r27859]

13 years agoUnify output format.
Sebastian Buchwald [Fri, 30 Jul 2010 14:22:20 +0000 (14:22 +0000)]
Unify output format.

[r27857]

13 years agobring back Carry and Borrow (firm_decomp apparently uses it) and add a note that...
Matthias Braun [Fri, 30 Jul 2010 08:28:45 +0000 (08:28 +0000)]
bring back Carry and Borrow (firm_decomp apparently uses it) and add a note that the backends don't support them

[r27849]

13 years agocan not -> cannot.
Sebastian Buchwald [Thu, 29 Jul 2010 13:37:31 +0000 (13:37 +0000)]
can not -> cannot.

[r27848]

13 years agoallow nodes with more inputs in prefallocator (some sparc keeps have more than 32...
Matthias Braun [Thu, 29 Jul 2010 11:36:39 +0000 (11:36 +0000)]
allow nodes with more inputs in prefallocator (some sparc keeps have more than 32 inputs)

[r27847]

13 years agouse new double wide register requirements; implement calling convention for sparc...
Matthias Braun [Thu, 29 Jul 2010 09:27:59 +0000 (09:27 +0000)]
use new double wide register requirements; implement calling convention for sparc 64bit floats

[r27846]

13 years agosparc: remove uninterpreted (and often wrongly used) MATCH_SIZE_NEUTRAL match flag...
Matthias Braun [Thu, 29 Jul 2010 09:27:58 +0000 (09:27 +0000)]
sparc: remove uninterpreted (and often wrongly used) MATCH_SIZE_NEUTRAL match flag for now

[r27845]

13 years agoavoid unnecessary #define in public headers
Matthias Braun [Wed, 28 Jul 2010 14:56:55 +0000 (14:56 +0000)]
avoid unnecessary #define in public headers

[r27837]

13 years agono unnecessary and cryptic abreviations: rename vrfy to verify
Matthias Braun [Wed, 28 Jul 2010 14:56:54 +0000 (14:56 +0000)]
no unnecessary and cryptic abreviations: rename vrfy to verify

[r27836]

13 years agofix doxygen warnings
Matthias Braun [Wed, 28 Jul 2010 10:52:15 +0000 (10:52 +0000)]
fix doxygen warnings

[r27835]

13 years agoautomatically generate most declarations for node getters+setters and is_XXX functions
Matthias Braun [Wed, 28 Jul 2010 10:52:14 +0000 (10:52 +0000)]
automatically generate most declarations for node getters+setters and is_XXX functions

[r27834]

13 years agoreplace is_no_Block() with !is_Block()
Matthias Braun [Wed, 28 Jul 2010 10:52:13 +0000 (10:52 +0000)]
replace is_no_Block() with !is_Block()

[r27833]

13 years agoautomatically generate code to allocate the 'frag_arr' for fragile nodes; improve...
Matthias Braun [Wed, 28 Jul 2010 10:52:12 +0000 (10:52 +0000)]
automatically generate code to allocate the 'frag_arr' for fragile nodes; improve readability of autogenerated code

[r27832]

13 years agoremove unused/unsupported Carry and Borrow nodes
Matthias Braun [Wed, 28 Jul 2010 08:35:08 +0000 (08:35 +0000)]
remove unused/unsupported Carry and Borrow nodes

[r27831]

13 years agoautomatically generate opcode declarations from ir_spec
Matthias Braun [Wed, 28 Jul 2010 08:35:08 +0000 (08:35 +0000)]
automatically generate opcode declarations from ir_spec

[r27830]

13 years agoarm: we don't use the generic be_Call anymore, no need for an emitter
Matthias Braun [Wed, 28 Jul 2010 08:35:07 +0000 (08:35 +0000)]
arm: we don't use the generic be_Call anymore, no need for an emitter

[r27829]

13 years agodraft for register width specifications
Matthias Braun [Tue, 27 Jul 2010 17:57:59 +0000 (17:57 +0000)]
draft for register width specifications

[r27828]

13 years agoimplement floatingpoint compares
Matthias Braun [Tue, 27 Jul 2010 17:57:58 +0000 (17:57 +0000)]
implement floatingpoint compares

[r27827]

13 years agosparc: cleanup register classes, remove some unused code, try to cleanup Div
Matthias Braun [Tue, 27 Jul 2010 17:57:57 +0000 (17:57 +0000)]
sparc: cleanup register classes, remove some unused code, try to cleanup Div

[r27826]

13 years agofirst implementation of floatingpoint arithmetic operations
Matthias Braun [Tue, 27 Jul 2010 17:57:57 +0000 (17:57 +0000)]
first implementation of floatingpoint arithmetic operations

[r27825]

13 years agouse custom spillslot coalescer so int->float and float->int gets proper spillslots
Matthias Braun [Tue, 27 Jul 2010 17:57:56 +0000 (17:57 +0000)]
use custom spillslot coalescer so int->float and float->int gets proper spillslots

[r27824]

13 years agofix Ldf/Stf emitter
Matthias Braun [Tue, 27 Jul 2010 17:57:56 +0000 (17:57 +0000)]
fix Ldf/Stf emitter

[r27823]

13 years agofix warnings
Matthias Braun [Tue, 27 Jul 2010 17:57:55 +0000 (17:57 +0000)]
fix warnings

[r27822]

13 years agobeflags: transform modifies_flags property into a callback, use default rematerialisa...
Matthias Braun [Tue, 27 Jul 2010 17:57:55 +0000 (17:57 +0000)]
beflags: transform modifies_flags property into a callback, use default rematerialisation callback in backends where necessary

[r27821]

13 years agoreplace psets with arrays to make the compiler more predictable across runs (and...
Matthias Braun [Tue, 27 Jul 2010 09:31:51 +0000 (09:31 +0000)]
replace psets with arrays to make the compiler more predictable across runs (and a little bit more efficient)

[r27820]

13 years agono need to pass environment stuff aroudn that can be retireved from irg
Matthias Braun [Tue, 27 Jul 2010 09:31:50 +0000 (09:31 +0000)]
no need to pass environment stuff aroudn that can be retireved from irg

[r27819]

13 years agobeflags: move be_Keep logic out of is_modify_flags function where it didn't really...
Matthias Braun [Tue, 27 Jul 2010 06:44:46 +0000 (06:44 +0000)]
beflags: move be_Keep logic out of is_modify_flags function where it didn't really belong

[r27818]

13 years agoarm: remove unused code, using tst to avoid cmp,0 not necessary
Matthias Braun [Mon, 26 Jul 2010 17:42:48 +0000 (17:42 +0000)]
arm: remove unused code, using tst to avoid cmp,0 not necessary

[r27817]

13 years agocleanup/refactor bipartite matching with hungarian method
Matthias Braun [Mon, 26 Jul 2010 17:42:48 +0000 (17:42 +0000)]
cleanup/refactor bipartite matching with hungarian method

[r27816]

13 years agoverify that start black has no predecessors
Matthias Braun [Mon, 26 Jul 2010 09:06:28 +0000 (09:06 +0000)]
verify that start black has no predecessors

[r27814]

13 years agoautomatically generated pn_ numbers from the spec file
Matthias Braun [Mon, 26 Jul 2010 09:06:27 +0000 (09:06 +0000)]
automatically generated pn_ numbers from the spec file

[r27813]

13 years agoExplicitly initialize the is_load_store attribute.
Michael Beck [Sat, 24 Jul 2010 01:24:34 +0000 (01:24 +0000)]
Explicitly initialize the is_load_store attribute.

[r27805]

13 years agoAdd preliminary support for Clz instruction.
Michael Beck [Sat, 24 Jul 2010 01:00:56 +0000 (01:00 +0000)]
Add preliminary support for Clz instruction.

[r27803]

13 years agosmall simplification.
Michael Beck [Sat, 24 Jul 2010 00:30:20 +0000 (00:30 +0000)]
small simplification.

[r27801]

13 years agoImplemented RSB support.
Michael Beck [Sat, 24 Jul 2010 00:23:35 +0000 (00:23 +0000)]
Implemented RSB support.

[r27800]

13 years agoImproved MVN support.
Michael Beck [Sat, 24 Jul 2010 00:13:34 +0000 (00:13 +0000)]
Improved MVN support.

[r27799]

13 years agoImplemented Bic support.
Michael Beck [Sat, 24 Jul 2010 00:07:26 +0000 (00:07 +0000)]
Implemented Bic support.

[r27798]

13 years agoImprove barrel shifter usage.
Michael Beck [Fri, 23 Jul 2010 23:55:24 +0000 (23:55 +0000)]
Improve barrel shifter usage.

a + (b SHIFT c) can now be encoded into one instruction.

[r27797]

13 years agoBugFix: return an empty type name if retrieve_type_dbg is NULL
Michael Beck [Fri, 23 Jul 2010 23:21:59 +0000 (23:21 +0000)]
BugFix: return an empty type name if retrieve_type_dbg is NULL

This fixes a Windows crash.

[r27796]

13 years agoVarious small changes.
Michael Beck [Fri, 23 Jul 2010 22:05:55 +0000 (22:05 +0000)]
Various small changes.

- kicked superfluous block calculation at several places, done at helper functions anyway
- And, Or, Eor are integer ops, no need to check for fp
- Proj nodes does not have debug info, no need to add some
- DeMorgan applied
- fixed typos
- kicked C99 comments
- add/fixed some doxygen comments

[r27794]

13 years agoadd doxygen comment
Michael Beck [Fri, 23 Jul 2010 21:19:36 +0000 (21:19 +0000)]
add doxygen comment

[r27793]

13 years agoUpdated doxygen comment.
Michael Beck [Fri, 23 Jul 2010 21:15:27 +0000 (21:15 +0000)]
Updated doxygen comment.

[r27792]

13 years agomake add_missing_keeps more robust in case of SwitchJumps
Matthias Braun [Fri, 23 Jul 2010 12:00:40 +0000 (12:00 +0000)]
make add_missing_keeps more robust in case of SwitchJumps

[r27791]

13 years agosparc: fix MemPerm emitter as far as possible
Matthias Braun [Fri, 23 Jul 2010 12:00:39 +0000 (12:00 +0000)]
sparc: fix MemPerm emitter as far as possible

[r27790]

13 years agooutput all sparc specific attributes in dumper
Matthias Braun [Fri, 23 Jul 2010 12:00:39 +0000 (12:00 +0000)]
output all sparc specific attributes in dumper

[r27789]

13 years agoperform custom abi construction in sparc as well to handle floatingpoint
Matthias Braun [Thu, 22 Jul 2010 19:08:05 +0000 (19:08 +0000)]
perform custom abi construction in sparc as well to handle floatingpoint

[r27788]

13 years agoimplement sparc floatingpoint constants
Matthias Braun [Thu, 22 Jul 2010 19:08:04 +0000 (19:08 +0000)]
implement sparc floatingpoint constants

[r27787]

13 years agosparc: fix unsigned compares and cleanup cmp attributes
Matthias Braun [Thu, 22 Jul 2010 19:07:47 +0000 (19:07 +0000)]
sparc: fix unsigned compares and cleanup cmp attributes

[r27786]

13 years agoimprove assert in abihelper register value getter
Matthias Braun [Thu, 22 Jul 2010 19:07:47 +0000 (19:07 +0000)]
improve assert in abihelper register value getter

[r27785]

13 years agofix sparc stack offset, stack must be 8byte aligned on calls
Matthias Braun [Thu, 22 Jul 2010 19:07:46 +0000 (19:07 +0000)]
fix sparc stack offset, stack must be 8byte aligned on calls

[r27784]

13 years agofix sparc stack offset emitter
Matthias Braun [Thu, 22 Jul 2010 19:07:45 +0000 (19:07 +0000)]
fix sparc stack offset emitter

[r27783]

13 years agoname sparc_transform functions after the firm-nodes they match; fix Divresult mode
Matthias Braun [Thu, 22 Jul 2010 19:07:45 +0000 (19:07 +0000)]
name sparc_transform functions after the firm-nodes they match; fix Divresult mode

[r27782]

13 years agocleanup sparc attribute getters+setters
Matthias Braun [Thu, 22 Jul 2010 19:07:44 +0000 (19:07 +0000)]
cleanup sparc attribute getters+setters

[r27781]

13 years agorefactor sparc nodes to have the same name as their assembler directives
Matthias Braun [Thu, 22 Jul 2010 19:07:44 +0000 (19:07 +0000)]
refactor sparc nodes to have the same name as their assembler directives

[r27780]

13 years agono need for pointless comments
Matthias Braun [Thu, 22 Jul 2010 19:07:43 +0000 (19:07 +0000)]
no need for pointless comments

[r27779]

13 years agoremove more leftovers from interprocedural view
Matthias Braun [Thu, 22 Jul 2010 19:07:42 +0000 (19:07 +0000)]
remove more leftovers from interprocedural view

[r27778]