libfirm
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]

13 years agoImplement a way to guess the mode of a local variable from the block's predecessors...
Julian Oppermann [Wed, 21 Jul 2010 15:04:02 +0000 (15:04 +0000)]
Implement a way to guess the mode of a local variable from the block's predecessors. (Matthias)

[r27774]

13 years agoRemoved declaration of non-existent functions.
Sebastian Buchwald [Wed, 21 Jul 2010 15:02:48 +0000 (15:02 +0000)]
Removed declaration of non-existent functions.

[r27773]

13 years agobe_init_copypbqp() removed in bemodule.c!
Thomas Bersch [Wed, 21 Jul 2010 13:18:08 +0000 (13:18 +0000)]
be_init_copypbqp() removed in bemodule.c!
becopypbqp.c and becopypbqp.h removed!

[r27771]

13 years agoAlso print number of (possible) RM applications.
Sebastian Buchwald [Wed, 21 Jul 2010 13:01:15 +0000 (13:01 +0000)]
Also print number of (possible) RM applications.

[r27770]

13 years agoDo not use late decisions as default.
Sebastian Buchwald [Wed, 21 Jul 2010 12:06:08 +0000 (12:06 +0000)]
Do not use late decisions as default.

[r27764]

13 years agoremove unused/broken interprocedural view
Matthias Braun [Mon, 19 Jul 2010 12:17:29 +0000 (12:17 +0000)]
remove unused/broken interprocedural view

[r27762]

13 years agoAdapt to r27653.
Sebastian Buchwald [Sun, 18 Jul 2010 15:46:50 +0000 (15:46 +0000)]
Adapt to r27653.

[r27757]

13 years agoavoid code duplication: use be_add_missing_keeps in ia32 backend also
Matthias Braun [Fri, 16 Jul 2010 16:25:31 +0000 (16:25 +0000)]
avoid code duplication: use be_add_missing_keeps in ia32 backend also

[r27754]

13 years agosome cleanups in arm+sparc backends
Matthias Braun [Fri, 16 Jul 2010 11:06:33 +0000 (11:06 +0000)]
some cleanups in arm+sparc backends

[r27753]

13 years agoReduce code duplication, improve readability.
Christoph Mallon [Fri, 16 Jul 2010 10:57:10 +0000 (10:57 +0000)]
Reduce code duplication, improve readability.

[r27752]

13 years agoDeMorgan to the rescue!
Christoph Mallon [Fri, 16 Jul 2010 10:53:22 +0000 (10:53 +0000)]
DeMorgan to the rescue!

[r27751]

13 years agoavoid unnecessary passing around of arch_env_t* in backend APIs
Matthias Braun [Thu, 15 Jul 2010 18:11:14 +0000 (18:11 +0000)]
avoid unnecessary passing around of arch_env_t* in backend APIs

[r27749]

13 years agoredo reverted changes to new set_transformer interface in sparc_transform.c
Matthias Braun [Thu, 15 Jul 2010 17:41:13 +0000 (17:41 +0000)]
redo reverted changes to new set_transformer interface in sparc_transform.c

[r27748]

13 years agocleanup sparc spec
Matthias Braun [Thu, 15 Jul 2010 17:41:12 +0000 (17:41 +0000)]
cleanup sparc spec

[r27747]

13 years agoremove outdated/wrong comments from backend specs
Matthias Braun [Thu, 15 Jul 2010 17:16:42 +0000 (17:16 +0000)]
remove outdated/wrong comments from backend specs

[r27746]

13 years agochange backend node specification to use whole words instead of cryptical 1-char...
Matthias Braun [Thu, 15 Jul 2010 17:10:26 +0000 (17:10 +0000)]
change backend node specification to use whole words instead of cryptical 1-char abreviations for flags

[r27745]

13 years agofix a few whitespace errors and remove spec cruft
Matthias Braun [Thu, 15 Jul 2010 09:06:17 +0000 (09:06 +0000)]
fix a few whitespace errors and remove spec cruft

[r27741]

13 years agoremove the unused/strange concept of a pseudo-irg
Matthias Braun [Thu, 15 Jul 2010 09:06:14 +0000 (09:06 +0000)]
remove the unused/strange concept of a pseudo-irg

[r27740]

13 years agoFixed imm13 range inside assertion.
Michael Beck [Wed, 14 Jul 2010 11:01:19 +0000 (11:01 +0000)]
Fixed imm13 range inside assertion.

[r27739]

13 years agoimplement some int to float conversions
Matthias Braun [Wed, 14 Jul 2010 09:10:00 +0000 (09:10 +0000)]
implement some int to float conversions

[r27738]

13 years agoarm: implement calling conventions for float and double parameter
Matthias Braun [Wed, 14 Jul 2010 09:10:00 +0000 (09:10 +0000)]
arm: implement calling conventions for float and double parameter

[r27737]

13 years agorefactoring: set_frame_entity is a special callbacks for users of the advanced spills...
Matthias Braun [Wed, 14 Jul 2010 09:09:59 +0000 (09:09 +0000)]
refactoring: set_frame_entity is a special callbacks for users of the advanced spillslot coalescing interface and not a generic bearch callback thingy anymore

[r27736]

13 years agoremove unused have_fp_insn
Matthias Braun [Wed, 14 Jul 2010 09:09:58 +0000 (09:09 +0000)]
remove unused have_fp_insn

[r27735]

13 years ago- SPEC gzip laeuft
Hannes Rapp [Tue, 13 Jul 2010 11:37:08 +0000 (11:37 +0000)]
- SPEC gzip laeuft
- Code soweit bereinigt

[r27734]

13 years agoremove now unnecessary beabi stuff from bearch_arm
Matthias Braun [Sat, 10 Jul 2010 19:33:00 +0000 (19:33 +0000)]
remove now unnecessary beabi stuff from bearch_arm

[r27733]

13 years agoreorganize beabi - save wether we are using omit_fp in the stack_layout structure
Matthias Braun [Sat, 10 Jul 2010 19:32:59 +0000 (19:32 +0000)]
reorganize beabi - save wether we are using omit_fp in the stack_layout structure

[r27732]

13 years ago- replaced an if condition that should never happen by assert()
Michael Beck [Sat, 10 Jul 2010 18:27:45 +0000 (18:27 +0000)]
- replaced an if condition that should never happen by assert()
- removed a superfluous "{", although in an #if 0 block this confuses Visual Assist

[r27731]

13 years agosvn:keywords added
Michael Beck [Fri, 9 Jul 2010 23:44:08 +0000 (23:44 +0000)]
svn:keywords added

[r27730]

13 years ago- add some doxygen docu
Michael Beck [Fri, 9 Jul 2010 23:40:24 +0000 (23:40 +0000)]
- add some doxygen docu
- fixed typos
- small simplification

[r27729]

13 years agoadd some doxygen docu.
Michael Beck [Fri, 9 Jul 2010 23:38:15 +0000 (23:38 +0000)]
add some doxygen docu.

[r27728]

13 years agoC99 feature removed.
Michael Beck [Fri, 9 Jul 2010 22:42:06 +0000 (22:42 +0000)]
C99 feature removed.

[r27727]

13 years agohandle arm ABI in arm transform phase
Matthias Braun [Fri, 9 Jul 2010 16:17:07 +0000 (16:17 +0000)]
handle arm ABI in arm transform phase

[r27726]

13 years agoallow backend to do its own custom abi handling and disable the generic beabi.h/...
Matthias Braun [Fri, 9 Jul 2010 16:17:07 +0000 (16:17 +0000)]
allow backend to do its own custom abi handling and disable the generic beabi.h/.c stuff

[r27725]

13 years agohelper functions for doing custom abi construction in codeselection phase
Matthias Braun [Fri, 9 Jul 2010 16:17:06 +0000 (16:17 +0000)]
helper functions for doing custom abi construction in codeselection phase

[r27724]

13 years agomake API for creating single register constraints public
Matthias Braun [Fri, 9 Jul 2010 16:17:05 +0000 (16:17 +0000)]
make API for creating single register constraints public

[r27723]

13 years agoemit arm symconsts as .LC%u instead of .L%u to avoid clashed with block numbers
Matthias Braun [Fri, 9 Jul 2010 16:17:05 +0000 (16:17 +0000)]
emit arm symconsts as .LC%u instead of .L%u to avoid clashed with block numbers

[r27722]

13 years agosymconst symbols are part of an arm function
Matthias Braun [Fri, 9 Jul 2010 16:17:04 +0000 (16:17 +0000)]
symconst symbols are part of an arm function

[r27721]

13 years agoduplicate more be nodes by default
Matthias Braun [Fri, 9 Jul 2010 16:17:04 +0000 (16:17 +0000)]
duplicate more be nodes by default

[r27720]