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

14 years agoFix a bug in comparison evaluation
Jonas Fietz [Thu, 20 May 2010 15:02:27 +0000 (15:02 +0000)]
Fix a bug in comparison evaluation

VRP/jumpthreading: In the case of a calculated Lg-eval, the optimization sometimes assumed a false
result.

[r27568]

14 years agodefine FIRM_BUILD_DLL so symbols are actually exported
Matthias Braun [Thu, 20 May 2010 13:19:20 +0000 (13:19 +0000)]
define FIRM_BUILD_DLL so symbols are actually exported

[r27567]

14 years agoupdate vc2010 project file
Matthias Braun [Thu, 20 May 2010 13:19:03 +0000 (13:19 +0000)]
update vc2010 project file

[r27566]

14 years agouse -fvisibility=hidden
Matthias Braun [Thu, 20 May 2010 12:54:45 +0000 (12:54 +0000)]
use -fvisibility=hidden

[r27565]

14 years agoproperly mark symbols in the public API to be exported. This allows us to use -fvisib...
Matthias Braun [Thu, 20 May 2010 12:54:31 +0000 (12:54 +0000)]
properly mark symbols in the public API to be exported. This allows us to use -fvisibility=hidden on ELF systems and dllexport on windows

[r27564]

14 years agoreduce unsupported attributes from error to a warning
Matthias Braun [Thu, 20 May 2010 12:36:28 +0000 (12:36 +0000)]
reduce unsupported attributes from error to a warning

[r27563]

14 years agoC99 feature remove
Matthias Braun [Thu, 20 May 2010 12:35:53 +0000 (12:35 +0000)]
C99 feature remove

[r27562]

14 years agoremove unused (and IMO unnecessary) define
Matthias Braun [Thu, 20 May 2010 11:14:36 +0000 (11:14 +0000)]
remove unused (and IMO unnecessary) define

[r27561]

14 years agoremove unused declarations from header
Matthias Braun [Thu, 20 May 2010 10:48:16 +0000 (10:48 +0000)]
remove unused declarations from header

[r27560]

14 years agoadapt formating to coding conventions
Matthias Braun [Wed, 19 May 2010 17:58:36 +0000 (17:58 +0000)]
adapt formating to coding conventions

[r27559]

14 years agofix warning
Matthias Braun [Wed, 19 May 2010 17:58:36 +0000 (17:58 +0000)]
fix warning

[r27558]

14 years agoremove more commented/unused code
Matthias Braun [Wed, 19 May 2010 17:58:35 +0000 (17:58 +0000)]
remove more commented/unused code

[r27557]

14 years agono need to keep $ in a file
Matthias Braun [Wed, 19 May 2010 17:08:37 +0000 (17:08 +0000)]
no need to keep $ in a file

[r27555]

14 years agoremove old_fctnames.h really old and noone really uses that (and well our API isn...
Matthias Braun [Wed, 19 May 2010 17:08:36 +0000 (17:08 +0000)]
remove old_fctnames.h really old and noone really uses that (and well our API isn't stable enough that this makes sense anyway)

[r27554]

14 years agoremove commented-out declaration for nonexistant function
Matthias Braun [Wed, 19 May 2010 17:08:36 +0000 (17:08 +0000)]
remove commented-out declaration for nonexistant function

[r27553]

14 years agoremove commented out references to the nonexistant DDM* macros
Matthias Braun [Wed, 19 May 2010 17:00:05 +0000 (17:00 +0000)]
remove commented out references to the nonexistant DDM* macros

[r27552]

14 years agomake edges_notify_edge_kind internal API
Matthias Braun [Wed, 19 May 2010 17:00:05 +0000 (17:00 +0000)]
make edges_notify_edge_kind internal API

[r27551]

14 years agogit rid of old commented-out code
Matthias Braun [Wed, 19 May 2010 17:00:04 +0000 (17:00 +0000)]
git rid of old commented-out code

[r27550]

14 years agoconvert 1 user of the deprecated eset
Matthias Braun [Wed, 19 May 2010 12:45:46 +0000 (12:45 +0000)]
convert 1 user of the deprecated eset

[r27549]

14 years agomove util.h to private API, harmonize SIZ(array) vs. ARR_SIZE(array) vs. array_size...
Matthias Braun [Wed, 19 May 2010 12:26:50 +0000 (12:26 +0000)]
move util.h to private API, harmonize SIZ(array) vs. ARR_SIZE(array) vs. array_size(array) macros

[r27548]

14 years agoremove impl.h - stupid concept leading to unreadable code which was only used in...
Matthias Braun [Wed, 19 May 2010 12:03:55 +0000 (12:03 +0000)]
remove impl.h - stupid concept leading to unreadable code which was only used in besched.c anyway

[r27547]

14 years agoforgot to remove #include
Matthias Braun [Wed, 19 May 2010 11:46:12 +0000 (11:46 +0000)]
forgot to remove #include

[r27546]

14 years agowe can do without the odd align.h
Matthias Braun [Wed, 19 May 2010 11:44:44 +0000 (11:44 +0000)]
we can do without the odd align.h

[r27545]

14 years agofix bug in type debug retrieve, output debug info when dumping type nodes
Matthias Braun [Tue, 18 May 2010 13:45:44 +0000 (13:45 +0000)]
fix bug in type debug retrieve, output debug info when dumping type nodes

[r27542]

14 years agoFixed wrongly set debug values.
Christian Helmer [Mon, 17 May 2010 11:03:40 +0000 (11:03 +0000)]
Fixed wrongly set debug values.

[r27540]

14 years agoLoop unrolling implemented. Unrolling passes every test of the testsuite.
Christian Helmer [Mon, 17 May 2010 10:49:27 +0000 (10:49 +0000)]
Loop unrolling implemented. Unrolling passes every test of the testsuite.

[r27539]

14 years agoprint out times and reverse perfect elimination order no disabled
Thomas Bersch [Wed, 12 May 2010 09:25:49 +0000 (09:25 +0000)]
print out times and reverse perfect elimination order no disabled

[r27536]

14 years agoignore last scheduled node on reordering after a perm if it is not colorable
Thomas Bersch [Wed, 12 May 2010 08:51:09 +0000 (08:51 +0000)]
ignore last scheduled node on reordering after a perm if it is not colorable

[r27535]

14 years agoEmit bad instead of broken code for Add on amd64.
Robin Redeker [Mon, 10 May 2010 15:51:06 +0000 (15:51 +0000)]
Emit bad instead of broken code for Add on amd64.

[r27525]

14 years agoan attempt to get a visual studio express project for building a .dll working (doesn...
Matthias Braun [Mon, 10 May 2010 11:47:30 +0000 (11:47 +0000)]
an attempt to get a visual studio express project for building a .dll working (doesn't really work yet because firm lacks dllexport specifications)

[r27522]

14 years agoFix last commit. Note to self: Never do last minute changes after testing.
Christoph Mallon [Sat, 8 May 2010 21:06:36 +0000 (21:06 +0000)]
Fix last commit.  Note to self: Never do last minute changes after testing.

[r27517]

14 years agoClarify the carry testing magic.
Christoph Mallon [Sat, 8 May 2010 21:04:43 +0000 (21:04 +0000)]
Clarify the carry testing magic.

[r27516]

14 years agoFirst scheduled node after a perm will now only be reorderd if all proj's connected...
Thomas Bersch [Fri, 7 May 2010 09:21:59 +0000 (09:21 +0000)]
First scheduled node after a perm will now only be reorderd if all proj's connected with the perm has an interference edge to this node.

[r27510]

14 years agoC99 feature removed.
Michael Beck [Thu, 6 May 2010 21:54:42 +0000 (21:54 +0000)]
C99 feature removed.

[r27506]

14 years agoWindows version updated.
Michael Beck [Thu, 6 May 2010 21:35:34 +0000 (21:35 +0000)]
Windows version updated.

[r27504]

14 years agomake script generate ANSI compliant code
Matthias Braun [Thu, 6 May 2010 14:28:20 +0000 (14:28 +0000)]
make script generate ANSI compliant code

[r27501]

14 years agoupdate for win32 compatibility
Matthias Braun [Thu, 6 May 2010 13:11:26 +0000 (13:11 +0000)]
update for win32 compatibility

[r27500]

14 years agoNew option and functionality added to use the late decision solver for pbqp.
Thomas Bersch [Thu, 6 May 2010 10:52:07 +0000 (10:52 +0000)]
New option and functionality added to use the late decision solver for pbqp.

[r27499]

14 years agofixed two warnings.
Robin Redeker [Thu, 6 May 2010 10:42:14 +0000 (10:42 +0000)]
fixed two warnings.

[r27496]

14 years agoadded symconst skeleton code and basic parameter passing.
Robin Redeker [Thu, 6 May 2010 10:39:14 +0000 (10:39 +0000)]
added symconst skeleton code and basic parameter passing.

[r27495]

14 years agoallow comments for outputs in node specification
Matthias Braun [Wed, 5 May 2010 14:57:22 +0000 (14:57 +0000)]
allow comments for outputs in node specification

[r27492]

14 years agoalso allow reference mode in fild
Matthias Braun [Wed, 5 May 2010 11:24:59 +0000 (11:24 +0000)]
also allow reference mode in fild

[r27491]

14 years agoremove unnecessary adjective
Matthias Braun [Wed, 5 May 2010 10:57:52 +0000 (10:57 +0000)]
remove unnecessary adjective

[r27490]

14 years agoupdate for release
Matthias Braun [Wed, 5 May 2010 10:51:45 +0000 (10:51 +0000)]
update for release

[r27489]

14 years ago2 days later than planned
Matthias Braun [Wed, 5 May 2010 09:27:00 +0000 (09:27 +0000)]
2 days later than planned

[r27488]

14 years agoguard against multiple users when skipping convs for AM
Matthias Braun [Wed, 5 May 2010 09:20:14 +0000 (09:20 +0000)]
guard against multiple users when skipping convs for AM

[r27486]

14 years agodocument that obstack in firm should be kept independent
Matthias Braun [Tue, 4 May 2010 13:34:41 +0000 (13:34 +0000)]
document that obstack in firm should be kept independent

[r27483]

14 years agobugfix
Matthias Braun [Tue, 4 May 2010 13:15:10 +0000 (13:15 +0000)]
bugfix

[r27481]

14 years agoimplement obstack_vprintf
Matthias Braun [Tue, 4 May 2010 13:13:45 +0000 (13:13 +0000)]
implement obstack_vprintf

[r27479]

14 years agofix warning
Matthias Braun [Tue, 4 May 2010 13:12:54 +0000 (13:12 +0000)]
fix warning

[r27478]

14 years agofix warnings and errors
FIRM Projekt Account [Tue, 4 May 2010 12:39:44 +0000 (12:39 +0000)]
fix warnings and errors

[r27477]

14 years agoFix obstack_printf() (slightly broken in r27474).
Christoph Mallon [Tue, 4 May 2010 11:53:26 +0000 (11:53 +0000)]
Fix obstack_printf() (slightly broken in r27474).

[r27476]

14 years agofix obstack printf being limited to 1024 bytes
Matthias Braun [Tue, 4 May 2010 10:30:06 +0000 (10:30 +0000)]
fix obstack printf being limited to 1024 bytes

[r27474]

14 years agofix another 2 instances where doubleword lowering didn't check if previous nodes...
Matthias Braun [Mon, 3 May 2010 17:50:05 +0000 (17:50 +0000)]
fix another 2 instances where doubleword lowering didn't check if previous nodes were already lowered

[r27471]

14 years agofix typo
Matthias Braun [Mon, 3 May 2010 17:48:20 +0000 (17:48 +0000)]
fix typo

[r27470]

14 years agosmall optimisation: we can still skip unsigned/signed convs in AM matching
Matthias Braun [Mon, 3 May 2010 17:27:13 +0000 (17:27 +0000)]
small optimisation: we can still skip unsigned/signed convs in AM matching

[r27468]

14 years agofix a bunch of warnings reported by cparser
Matthias Braun [Mon, 3 May 2010 16:58:35 +0000 (16:58 +0000)]
fix a bunch of warnings reported by cparser

[r27467]

14 years agoupdate autotools stuff
Matthias Braun [Mon, 3 May 2010 16:58:25 +0000 (16:58 +0000)]
update autotools stuff

[r27466]

14 years agoNEWS update
Matthias Braun [Mon, 3 May 2010 16:20:01 +0000 (16:20 +0000)]
NEWS update

[r27464]

14 years agouse barriers instead of be_Keep to keep unused nodes since we can't guarantee the...
Matthias Braun [Mon, 3 May 2010 09:10:44 +0000 (09:10 +0000)]
use barriers instead of be_Keep to keep unused nodes since we can't guarantee the rule that a keep is always right behind the definition of a value

[r27462]

14 years agominir_dumping should do something usefull now
Matthias Braun [Fri, 30 Apr 2010 16:29:48 +0000 (16:29 +0000)]
minir_dumping should do something usefull now

[r27461]

14 years agomodernize TEMPLATE backend and simplify some backend APIs
Matthias Braun [Fri, 30 Apr 2010 13:10:23 +0000 (13:10 +0000)]
modernize TEMPLATE backend and simplify some backend APIs

[r27460]

14 years agorename function
Matthias Braun [Fri, 30 Apr 2010 12:17:10 +0000 (12:17 +0000)]
rename function

[r27459]

14 years agoadjusted emitter to more current API.
Robin Redeker [Fri, 30 Apr 2010 09:48:54 +0000 (09:48 +0000)]
adjusted emitter to more current API.

[r27458]

14 years agougly cheat so the java binding generator uses the name iro_Block instead of iro_First
Matthias Braun [Thu, 29 Apr 2010 11:46:30 +0000 (11:46 +0000)]
ugly cheat so the java binding generator uses the name iro_Block instead of iro_First

[r27456]

14 years agoadded amd64 backend code (which doesn't do much yet).
Robin Redeker [Thu, 29 Apr 2010 11:02:22 +0000 (11:02 +0000)]
added amd64 backend code (which doesn't do much yet).

[r27454]

14 years ago- added emit_section_sparc to begnuas
Hannes Rapp [Tue, 27 Apr 2010 14:13:33 +0000 (14:13 +0000)]
- added emit_section_sparc to begnuas
- fixed register spilling & register specs

[r27450]

14 years agoimprove ia32_Asm register pressure faithfullness stuff (still broken but better than...
Matthias Braun [Mon, 26 Apr 2010 15:00:11 +0000 (15:00 +0000)]
improve ia32_Asm register pressure faithfullness stuff (still broken but better than before)

[r27447]

14 years agos/full\>/ful/.
Christoph Mallon [Mon, 26 Apr 2010 10:24:18 +0000 (10:24 +0000)]
s/full\>/ful/.

[r27442]

14 years agoaccidently enable debug code
Matthias Braun [Mon, 26 Apr 2010 08:39:33 +0000 (08:39 +0000)]
accidently enable debug code

[r27441]

14 years agoadd a note so the next person doesn't have to dig so long anymore
Matthias Braun [Mon, 26 Apr 2010 08:28:43 +0000 (08:28 +0000)]
add a note so the next person doesn't have to dig so long anymore

[r27440]

14 years agoC99 feature removed.
Michael Beck [Sat, 24 Apr 2010 21:45:19 +0000 (21:45 +0000)]
C99 feature removed.

[r27436]

14 years agodon't hardcode 31
Matthias Braun [Mon, 19 Apr 2010 14:07:55 +0000 (14:07 +0000)]
don't hardcode 31

[r27419]

14 years agobitset size calcuation was broken (uhoh)
Matthias Braun [Mon, 19 Apr 2010 14:00:16 +0000 (14:00 +0000)]
bitset size calcuation was broken (uhoh)

[r27418]

14 years ago- Bugfix: Barrier nodes have an effect like a Keep for unused inputs. So we
Matthias Braun [Mon, 19 Apr 2010 08:26:03 +0000 (08:26 +0000)]
- Bugfix: Barrier nodes have an effect like a Keep for unused inputs. So we
  have to construct explicit Keep nodes when killing barriers.
  This should fix the no-omit-frame-pointer missing IncSP problems.

[r27415]

14 years agoFixed release build.
Michael Beck [Sat, 17 Apr 2010 09:53:53 +0000 (09:53 +0000)]
Fixed release build.

[r27412]

14 years agoUpdated Win32 version number to 1.18
Michael Beck [Fri, 16 Apr 2010 12:39:23 +0000 (12:39 +0000)]
Updated Win32 version number to 1.18

[r27411]

14 years agoReverted r27394 on iropt.c, there is not need to keep this in sync with
Michael Beck [Fri, 16 Apr 2010 12:38:20 +0000 (12:38 +0000)]
Reverted r27394 on iropt.c, there is not need to keep this in sync with
combo, just combo's evaluators must be synced between compute_Cmp() and
compute_Proj_Cmp().

[r27410]

14 years agogas on cygwin doesn't like section type (althought that's not what the docu says...
Matthias Braun [Thu, 15 Apr 2010 14:17:45 +0000 (14:17 +0000)]
gas on cygwin doesn't like section type (althought that's not what the docu says IMO)

[r27408]

14 years agoavoid excessive use of alloca -- it doesn't work on cygwin
Matthias Braun [Thu, 15 Apr 2010 13:47:35 +0000 (13:47 +0000)]
avoid excessive use of alloca -- it doesn't work on cygwin

[r27407]

14 years agoauto* updates
Matthias Braun [Thu, 15 Apr 2010 11:22:45 +0000 (11:22 +0000)]
auto* updates

[r27402]

14 years agoonly compile statev code if enabled
Matthias Braun [Thu, 15 Apr 2010 10:55:18 +0000 (10:55 +0000)]
only compile statev code if enabled

[r27401]

14 years agofixed indentation
Michael Beck [Wed, 14 Apr 2010 12:17:57 +0000 (12:17 +0000)]
fixed indentation

[r27395]

14 years agocombos constant dataflow analysis has to be consistent with the localopt; this should...
Matthias Braun [Wed, 14 Apr 2010 12:10:12 +0000 (12:10 +0000)]
combos constant dataflow analysis has to be consistent with the localopt; this should fix 300.twolf

[r27394]

14 years agoCreate the in array before the node is constructed instead of copying the in array...
Sebastian Buchwald [Tue, 13 Apr 2010 17:02:27 +0000 (17:02 +0000)]
Create the in array before the node is constructed instead of copying the in array an set the operands afterwards.

[r27393]

14 years ago- fixed: new_r_Proj/new_rd_Proj args changed
Hannes Rapp [Tue, 13 Apr 2010 13:54:28 +0000 (13:54 +0000)]
- fixed: new_r_Proj/new_rd_Proj args changed

[r27392]

14 years agoCreate a new node with the right mode instead of changing the mode.
Sebastian Buchwald [Tue, 13 Apr 2010 13:42:54 +0000 (13:42 +0000)]
Create a new node with the right mode instead of changing the mode.

[r27391]

14 years ago- various updates to sparc backend
Hannes Rapp [Tue, 13 Apr 2010 13:35:54 +0000 (13:35 +0000)]
- various updates to sparc backend
- extende beabi so you can specify different registers at the call site
  and the beginning of a called function
- adapt all backends for API changes

[r27390]

14 years agofix bug in default ifconv handler
Hannes Rapp [Tue, 13 Apr 2010 13:32:50 +0000 (13:32 +0000)]
fix bug in default ifconv handler

[r27389]

14 years agoLoop inversion: Fixed bug in find_condition_chain and construct_ssa, which prevented...
Christian Helmer [Tue, 13 Apr 2010 12:05:15 +0000 (12:05 +0000)]
Loop inversion: Fixed bug in find_condition_chain and construct_ssa, which prevented SPEC/perlbmk to compile.

[r27388]

14 years agoSlightly improve documentation.
Matthias Braun [Tue, 13 Apr 2010 08:06:08 +0000 (08:06 +0000)]
Slightly improve documentation.

[r27387]

14 years agoSome improvements:
Michael Beck [Tue, 13 Apr 2010 07:07:46 +0000 (07:07 +0000)]
Some improvements:
- use Phi list to speed up algo
- initially clear the links of all nodes (block walker visits only initially reachable ones)
- track resources
- invalidate analysis info at end

[r27386]

14 years agoSlightly improved documentation.
Michael Beck [Tue, 13 Apr 2010 06:54:16 +0000 (06:54 +0000)]
Slightly improved documentation.

[r27385]

14 years agoAdd missing break.
Christoph Mallon [Mon, 12 Apr 2010 19:34:28 +0000 (19:34 +0000)]
Add missing break.

[r27384]