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

13 years agoadd documentation for obstack_printf
Matthias Braun [Fri, 9 Jul 2010 16:17:03 +0000 (16:17 +0000)]
add documentation for obstack_printf

[r27719]

13 years agoimprove dumping of symconst attributes
Matthias Braun [Fri, 9 Jul 2010 16:17:03 +0000 (16:17 +0000)]
improve dumping of symconst attributes

[r27718]

13 years agoslightly improve arm shift instruction matching
Matthias Braun [Fri, 9 Jul 2010 09:06:52 +0000 (09:06 +0000)]
slightly improve arm shift instruction matching

[r27716]

13 years agoavoid unnecessary macros in ia32_transform.c
Matthias Braun [Thu, 8 Jul 2010 11:57:51 +0000 (11:57 +0000)]
avoid unnecessary macros in ia32_transform.c

[r27713]

13 years agochange betranshelp semantic to panic instead of duplicating node in case of missing...
Matthias Braun [Thu, 8 Jul 2010 11:46:39 +0000 (11:46 +0000)]
change betranshelp semantic to panic instead of duplicating node in case of missing transformer. Add generic API for setting transformers

[r27712]

13 years agoconstnes and comment improvements for irheights
Matthias Braun [Thu, 8 Jul 2010 10:57:22 +0000 (10:57 +0000)]
constnes and comment improvements for irheights

[r27711]

13 years agofix phase_reinit not correctly using the return value of the reinit function
Matthias Braun [Thu, 8 Jul 2010 09:12:05 +0000 (09:12 +0000)]
fix phase_reinit not correctly using the return value of the reinit function

[r27710]

13 years agocleanup irphase: phase_reinit is a special case and doesn't polute the main callback...
Matthias Braun [Thu, 8 Jul 2010 09:10:05 +0000 (09:10 +0000)]
cleanup irphase: phase_reinit is a special case and doesn't polute the main callback interface anymore

[r27709]

13 years agocleanup,refactoring of some arm node attribute handling
Matthias Braun [Wed, 7 Jul 2010 08:45:16 +0000 (08:45 +0000)]
cleanup,refactoring of some arm node attribute handling

[r27708]

13 years agouse "" include path inside the project
Matthias Braun [Wed, 7 Jul 2010 08:16:57 +0000 (08:16 +0000)]
use "" include path inside the project

[r27707]

13 years agofix a few warnings/bugs in optimized mode
Matthias Braun [Tue, 6 Jul 2010 11:53:09 +0000 (11:53 +0000)]
fix a few warnings/bugs in optimized mode

[r27704]

13 years agoremove unnecessary members from be_abi_irg_t structure, cleanup beabi a bit
Matthias Braun [Tue, 6 Jul 2010 11:40:34 +0000 (11:40 +0000)]
remove unnecessary members from be_abi_irg_t structure, cleanup beabi a bit

[r27703]

13 years agocleanup/fix ilp code
Matthias Braun [Tue, 6 Jul 2010 10:45:31 +0000 (10:45 +0000)]
cleanup/fix ilp code

[r27702]

13 years agofix wrong header in beilpsched
Matthias Braun [Tue, 6 Jul 2010 09:16:06 +0000 (09:16 +0000)]
fix wrong header in beilpsched

[r27701]

13 years agoremove these largish/noisy headers
Matthias Braun [Tue, 6 Jul 2010 09:09:56 +0000 (09:09 +0000)]
remove these largish/noisy headers

[r27700]

13 years agoremove these largish/noisy headers
Matthias Braun [Tue, 6 Jul 2010 09:07:17 +0000 (09:07 +0000)]
remove these largish/noisy headers

[r27699]

13 years agoremove unmaintained mips backend
Matthias Braun [Tue, 6 Jul 2010 08:50:00 +0000 (08:50 +0000)]
remove unmaintained mips backend

[r27697]

13 years agocleanup and fix some benode dumpers
Matthias Braun [Tue, 6 Jul 2010 08:33:50 +0000 (08:33 +0000)]
cleanup and fix some benode dumpers

[r27696]

13 years agoput stack_layout into beirg instead of be_abi datastructures
Matthias Braun [Mon, 5 Jul 2010 17:09:02 +0000 (17:09 +0000)]
put stack_layout into beirg instead of be_abi datastructures

[r27695]

13 years agoconvert a few more place that mention birg into generic ir_graph* stuff
Matthias Braun [Mon, 5 Jul 2010 14:39:40 +0000 (14:39 +0000)]
convert a few more place that mention birg into generic ir_graph* stuff

[r27694]

14 years agoconvert remaining APIs from be_irg_t* to ir_graph*
Matthias Braun [Fri, 2 Jul 2010 16:58:20 +0000 (16:58 +0000)]
convert remaining APIs from be_irg_t* to ir_graph*

[r27693]

14 years agochange register allocator and related interfaces to use ir_graph* instead of be_irg_t*
Matthias Braun [Fri, 2 Jul 2010 16:58:18 +0000 (16:58 +0000)]
change register allocator and related interfaces to use ir_graph* instead of be_irg_t*

[r27692]

14 years agochange spiller and related interface to use ir_graph* instead of be_irg_t*
Matthias Braun [Fri, 2 Jul 2010 16:58:17 +0000 (16:58 +0000)]
change spiller and related interface to use ir_graph* instead of be_irg_t*

[r27691]

14 years ago- change various be_get_birg_XXX functions to be_get_irg_XXX functions.
Matthias Braun [Fri, 2 Jul 2010 16:58:16 +0000 (16:58 +0000)]
- change various be_get_birg_XXX functions to be_get_irg_XXX functions.

[r27690]

14 years agoremove old/unused code
Matthias Braun [Fri, 2 Jul 2010 16:02:03 +0000 (16:02 +0000)]
remove old/unused code

[r27689]

14 years agodump node labels by default
Matthias Braun [Fri, 2 Jul 2010 14:53:58 +0000 (14:53 +0000)]
dump node labels by default

[r27688]

14 years agocleanup documentation and reformat
Matthias Braun [Fri, 2 Jul 2010 12:16:27 +0000 (12:16 +0000)]
cleanup documentation and reformat

[r27687]

14 years agoremove commented out, old and unused code
Matthias Braun [Fri, 2 Jul 2010 11:56:57 +0000 (11:56 +0000)]
remove commented out, old and unused code

[r27686]

14 years agoupdate/fix autotools stuff
Matthias Braun [Fri, 2 Jul 2010 11:27:02 +0000 (11:27 +0000)]
update/fix autotools stuff

[r27685]

14 years agoamd64: made SymConst rematerializable and added emission of be_Perm.
Robin Redeker [Wed, 30 Jun 2010 13:37:39 +0000 (13:37 +0000)]
amd64: made SymConst rematerializable and added emission of be_Perm.

[r27683]

14 years agoavoid warning when building without ILP
Matthias Braun [Wed, 30 Jun 2010 12:48:00 +0000 (12:48 +0000)]
avoid warning when building without ILP

[r27682]

14 years agoupdate documentation to new turn_into_tuple behaviour
Matthias Braun [Wed, 30 Jun 2010 12:47:58 +0000 (12:47 +0000)]
update documentation to new turn_into_tuple behaviour

[r27681]

14 years agoamd64: fixed spill code. added Sub and Neg. Fixed Cmp.
Robin Redeker [Wed, 30 Jun 2010 12:08:59 +0000 (12:08 +0000)]
amd64: fixed spill code. added Sub and Neg. Fixed Cmp.

[r27680]

14 years agoamd64: added be_Spill and be_Reload transformation.
Robin Redeker [Wed, 30 Jun 2010 09:27:18 +0000 (09:27 +0000)]
amd64: added be_Spill and be_Reload transformation.

[r27679]

14 years agoamd64: Added Mul.
Robin Redeker [Tue, 29 Jun 2010 14:20:29 +0000 (14:20 +0000)]
amd64: Added Mul.

[r27674]

14 years agoamd64: Added Conv handling. Fixed %rax handling for variadic function calls.
Robin Redeker [Tue, 29 Jun 2010 13:18:15 +0000 (13:18 +0000)]
amd64: Added Conv handling. Fixed %rax handling for variadic function calls.

[r27673]

14 years agosimplify and maybe even fix bugs in turn_into_tuple
Matthias Braun [Tue, 29 Jun 2010 12:17:00 +0000 (12:17 +0000)]
simplify and maybe even fix bugs in turn_into_tuple

[r27672]

14 years agocleanup configure script (remove unused/not-working features)
Matthias Braun [Tue, 29 Jun 2010 12:16:56 +0000 (12:16 +0000)]
cleanup configure script (remove unused/not-working features)

[r27671]

14 years agoC99 feature removed.
Michael Beck [Tue, 29 Jun 2010 11:04:26 +0000 (11:04 +0000)]
C99 feature removed.

[r27670]

14 years agoamd64: using mode_Lu for registers now.
Robin Redeker [Tue, 29 Jun 2010 10:07:07 +0000 (10:07 +0000)]
amd64: using mode_Lu for registers now.

[r27669]

14 years agoamd64: small changes w.r.t. stack alignment.
Robin Redeker [Mon, 28 Jun 2010 14:22:19 +0000 (14:22 +0000)]
amd64: small changes w.r.t. stack alignment.

[r27668]

14 years agoamd64: implemented Store, Mul and Sub.
Robin Redeker [Mon, 28 Jun 2010 13:08:17 +0000 (13:08 +0000)]
amd64: implemented Store, Mul and Sub.

[r27667]

14 years agoamd64: Added Load and FrameAddr transformation. And fixed some corruption bugs w...
Robin Redeker [Mon, 28 Jun 2010 10:41:54 +0000 (10:41 +0000)]
amd64: Added Load and FrameAddr transformation. And fixed some corruption bugs w.r.t. node attribute handling.

[r27666]

14 years agoia32 Not does not affect the flags.
Christoph Mallon [Sat, 26 Jun 2010 15:50:22 +0000 (15:50 +0000)]
ia32 Not does not affect the flags.

[r27663]

14 years agoremove the ppc32 backend (it's in a very broken state and not maintained)
Matthias Braun [Fri, 25 Jun 2010 14:02:01 +0000 (14:02 +0000)]
remove the ppc32 backend (it's in a very broken state and not maintained)

[r27661]

14 years agoamd64: Cmp, Cond and Jcc seem to work for now.
Robin Redeker [Fri, 25 Jun 2010 13:24:13 +0000 (13:24 +0000)]
amd64: Cmp, Cond and Jcc seem to work for now.

[r27660]

14 years agocleanup ia32 code (use private linkage where necessary, no need for a custom unique_id)
Matthias Braun [Fri, 25 Jun 2010 11:57:12 +0000 (11:57 +0000)]
cleanup ia32 code (use private linkage where necessary, no need for a custom unique_id)

[r27659]

14 years agoAdded preliminary Conv, Call and Jmp instructions to the amd64 backend.
Robin Redeker [Fri, 25 Jun 2010 09:24:03 +0000 (09:24 +0000)]
Added preliminary Conv, Call and Jmp instructions to the amd64 backend.

[r27658]

14 years agocleanup and rewrite dumper interface
Matthias Braun [Fri, 25 Jun 2010 07:21:04 +0000 (07:21 +0000)]
cleanup and rewrite dumper interface

[r27653]

14 years agofix doxygen comment
Matthias Braun [Fri, 25 Jun 2010 07:21:02 +0000 (07:21 +0000)]
fix doxygen comment

[r27652]

14 years agofilter out bad characters when outputting strings in bestabs
Matthias Braun [Wed, 23 Jun 2010 11:42:49 +0000 (11:42 +0000)]
filter out bad characters when outputting strings in bestabs

[r27649]

14 years agoremove the (mis-)feature of arch_get_irn_reg_req_out working on mode_T nodes and...
Matthias Braun [Wed, 23 Jun 2010 11:24:56 +0000 (11:24 +0000)]
remove the (mis-)feature of arch_get_irn_reg_req_out working on mode_T nodes and retruning no_reqs in this case

[r27648]

14 years agoremove general ifg interface and always use ifg_std, this considerably simplifies...
Matthias Braun [Wed, 23 Jun 2010 10:32:44 +0000 (10:32 +0000)]
remove general ifg interface and always use ifg_std, this considerably simplifies the code

[r27647]

14 years agomove long64 stuff from beutil to its only user becopyopt.h
Matthias Braun [Wed, 23 Jun 2010 10:32:43 +0000 (10:32 +0000)]
move long64 stuff from beutil to its only user becopyopt.h

[r27646]

14 years agoremove arch_irn_class_is macro as it hides usages of arch_irn_class_XXX from grep...
Matthias Braun [Wed, 23 Jun 2010 10:32:42 +0000 (10:32 +0000)]
remove arch_irn_class_is macro as it hides usages of arch_irn_class_XXX from grep, also remove useless safety checks against classify of Projs returning wrong values

[r27645]

14 years agocleanup and reformat bearch.h header
Matthias Braun [Wed, 23 Jun 2010 10:32:41 +0000 (10:32 +0000)]
cleanup and reformat bearch.h header

[r27644]

14 years agomove VTABLE_NUM_NOT_SET constant to public header
Matthias Braun [Mon, 21 Jun 2010 07:26:37 +0000 (07:26 +0000)]
move VTABLE_NUM_NOT_SET constant to public header

[r27638]

14 years agoadd set_irp function, correct new_ir_prog docu
Matthias Braun [Fri, 18 Jun 2010 15:16:27 +0000 (15:16 +0000)]
add set_irp function, correct new_ir_prog docu

[r27637]

14 years agoimplement node walker in direction of out-edges
Matthias Braun [Thu, 17 Jun 2010 09:22:34 +0000 (09:22 +0000)]
implement node walker in direction of out-edges

[r27631]

14 years agofix obstack_printf function - we have to explicitely copy va_list ap, because vsnprin...
Matthias Braun [Thu, 17 Jun 2010 09:19:30 +0000 (09:19 +0000)]
fix obstack_printf function - we have to explicitely copy va_list ap, because vsnprintf consumes it

[r27630]

14 years agofix some bugs that prevented repeated calling of ir_init and ir_finish
Matthias Braun [Wed, 16 Jun 2010 14:42:05 +0000 (14:42 +0000)]
fix some bugs that prevented repeated calling of ir_init and ir_finish

[r27628]

14 years ago- restliche ops implementiert: div, mod, and, or etc
Hannes Rapp [Wed, 16 Jun 2010 13:28:33 +0000 (13:28 +0000)]
- restliche ops implementiert: div, mod, and, or etc
- optest.c kompiliert

[r27627]

14 years agoremove todo nodes from public API, they were outdated or wrong and well the public...
Matthias Braun [Tue, 1 Jun 2010 08:15:46 +0000 (08:15 +0000)]
remove todo nodes from public API, they were outdated or wrong and well the public headers are not a good place to put TODOs in

[r27616]

14 years agoavoid unnecessary macros in public headers
Matthias Braun [Tue, 1 Jun 2010 08:15:45 +0000 (08:15 +0000)]
avoid unnecessary macros in public headers

[r27615]

14 years agoremove unnecessary and unused be_empty_set
Matthias Braun [Mon, 31 May 2010 11:29:00 +0000 (11:29 +0000)]
remove unnecessary and unused be_empty_set

[r27614]

14 years agomove dump_color and edge_kind enum to internal headers
Matthias Braun [Mon, 31 May 2010 11:28:59 +0000 (11:28 +0000)]
move dump_color and edge_kind enum to internal headers

[r27613]

14 years agoReformatted (get rid of some spaces).
Michael Beck [Sat, 29 May 2010 10:52:16 +0000 (10:52 +0000)]
Reformatted (get rid of some spaces).

[r27607]

14 years agoAdding is_Block assertion
Andreas Zwinkau [Fri, 28 May 2010 16:39:36 +0000 (16:39 +0000)]
Adding is_Block assertion

[r27606]

14 years agoAC_FUNC_STRTOLD is autoconf 2.60 apparently
Matthias Braun [Fri, 28 May 2010 15:09:08 +0000 (15:09 +0000)]
AC_FUNC_STRTOLD is autoconf 2.60 apparently

[r27605]

14 years agoadd missing get_type_for_mode functions
Matthias Braun [Fri, 28 May 2010 15:09:07 +0000 (15:09 +0000)]
add missing get_type_for_mode functions

[r27604]

14 years agoclarify documentation for array Allocs
Matthias Braun [Fri, 28 May 2010 10:46:30 +0000 (10:46 +0000)]
clarify documentation for array Allocs

[r27597]

14 years agoremove double const for idents
Matthias Braun [Fri, 28 May 2010 10:46:29 +0000 (10:46 +0000)]
remove double const for idents

[r27596]

14 years agoimprove documentation and mark firm_parameter stuff as deprecated
Matthias Braun [Wed, 26 May 2010 09:21:39 +0000 (09:21 +0000)]
improve documentation and mark firm_parameter stuff as deprecated

[r27590]

14 years agoremove the infrastructure for using a custom identifier module and simply always...
Matthias Braun [Wed, 26 May 2010 09:15:23 +0000 (09:15 +0000)]
remove the infrastructure for using a custom identifier module and simply always use the default UTF-8 one. Slightly cleanup the code while doing that

[r27589]

14 years agocompound_graph paths are also allowed for arrays
Matthias Braun [Tue, 25 May 2010 13:52:16 +0000 (13:52 +0000)]
compound_graph paths are also allowed for arrays

[r27587]

14 years agoonly set deprecated firm_param stuff if it is not NULL
Matthias Braun [Tue, 25 May 2010 13:49:40 +0000 (13:49 +0000)]
only set deprecated firm_param stuff if it is not NULL

[r27586]

14 years agochange firm API so the firm_parameter_t struct becomes completely optional and deprec...
Matthias Braun [Tue, 25 May 2010 13:42:23 +0000 (13:42 +0000)]
change firm API so the firm_parameter_t struct becomes completely optional and deprecated (because good libraries only export functions and opaque types - this makes bindings to other languages considerably easier)

[r27584]

14 years agoadd gitignore
Matthias Braun [Tue, 25 May 2010 12:13:44 +0000 (12:13 +0000)]
add gitignore

[r27583]

14 years agointroduce versioning magic into auto* build
Matthias Braun [Tue, 25 May 2010 12:01:32 +0000 (12:01 +0000)]
introduce versioning magic into auto* build

[r27582]

14 years agoAdd windows resource file and set the FIRM_BUILD and FIRM_DLL macros.
Michael Beck [Sat, 22 May 2010 20:02:31 +0000 (20:02 +0000)]
Add windows resource file and set the FIRM_BUILD and FIRM_DLL macros.

[r27579]

14 years agoremoved JTEST configuration, this was only used to test the cbackend for edgjfe ...
Michael Beck [Fri, 21 May 2010 22:09:32 +0000 (22:09 +0000)]
removed JTEST configuration, this was only used to test the cbackend for edgjfe ...

[r27576]

14 years agoFixed Win32 DLL support.
Michael Beck [Fri, 21 May 2010 21:55:10 +0000 (21:55 +0000)]
Fixed Win32 DLL support.

libFirm can now be build as static and as dynamic library.
Two defines control it:
FIRM_BUILD must be set when libFirm is build.
FIRM_DLL must be set if libFirm is build as a dynamic library.

The old FIRM_DLL macro is now renamed to FIRM_API.

Additionally

- FIRM_API is added to the ADT headers, this is at least needed for edgfe.
- some more missing FIRM_API's added ...
- add a resource file to show libFirm's version under windows

[r27575]

14 years agoUpdated for new libFirm: array types have an entity, but are not compound types.
Michael Beck [Fri, 21 May 2010 21:49:53 +0000 (21:49 +0000)]
Updated for new libFirm: array types have an entity, but are not compound types.

[r27574]

14 years agoUpdated for current libFirm.
Michael Beck [Fri, 21 May 2010 21:10:58 +0000 (21:10 +0000)]
Updated for current libFirm.

[r27573]

14 years agoBugfix: fixed uninitialized variable.
Michael Beck [Fri, 21 May 2010 19:58:33 +0000 (19:58 +0000)]
Bugfix: fixed uninitialized variable.

[r27572]

14 years agosimplify confusing entity/owner interfaces. There is no public way anymore to add...
Matthias Braun [Fri, 21 May 2010 16:34:48 +0000 (16:34 +0000)]
simplify confusing entity/owner interfaces. There is no public way anymore to add/remove entities from compound types instead you can only do set_entity_owner

[r27570]

14 years agoallocate memory for overwrites/overwrittenby on demand
Matthias Braun [Fri, 21 May 2010 16:13:13 +0000 (16:13 +0000)]
allocate memory for overwrites/overwrittenby on demand

[r27569]