libfirm
13 years agoSwitch array to size_t for length parameter ...
Michael Beck [Mon, 24 Jan 2011 23:31:13 +0000 (23:31 +0000)]
Switch array to size_t for length parameter ...

[r28271]

13 years agoFixed broken refactoring of r28264.
Michael Beck [Mon, 24 Jan 2011 23:30:57 +0000 (23:30 +0000)]
Fixed broken refactoring of r28264.

[r28270]

13 years agoFixed size_t issues.
Michael Beck [Mon, 24 Jan 2011 00:27:20 +0000 (00:27 +0000)]
Fixed size_t issues.

[r28268]

13 years agoSwitch pqueue to size_t.
Michael Beck [Mon, 24 Jan 2011 00:27:06 +0000 (00:27 +0000)]
Switch pqueue to size_t.

[r28267]

13 years agoFixed some size_t related warnings.
Michael Beck [Mon, 24 Jan 2011 00:22:16 +0000 (00:22 +0000)]
Fixed some size_t related warnings.

[r28266]

13 years agoFixed wrong type cast spotted by the intel compiler in our portale obstack.h.
Michael Beck [Wed, 19 Jan 2011 23:24:56 +0000 (23:24 +0000)]
Fixed wrong type cast spotted by the intel compiler in our portale obstack.h.

[r28265]

13 years agoAmendment of r28263 which was committed too early.
Michael Beck [Wed, 19 Jan 2011 23:12:39 +0000 (23:12 +0000)]
Amendment of r28263 which was committed too early.

Another interface change: gc_irgs() now gets an size_t parameter.
Additionally fixed a memory leak.

[r28264]

13 years agoFixed more size_t related warnings, one interface change.
Michael Beck [Wed, 19 Jan 2011 22:59:02 +0000 (22:59 +0000)]
Fixed more size_t related warnings, one interface change.

cgana() returns now the lenght of the free_methods array instead of
setting a passed pointer.

[r28263]

13 years agoFixed r28259 which broke hh and h modifier.
Michael Beck [Wed, 19 Jan 2011 22:34:59 +0000 (22:34 +0000)]
Fixed r28259 which broke hh and h modifier.

We must differentiate between the value type and the va_arg type ...

[r28262]

13 years agova_arg must be used with int instead of char/short. All integer arguments are at...
Christoph Mallon [Wed, 19 Jan 2011 13:02:24 +0000 (13:02 +0000)]
va_arg must be used with int instead of char/short.  All integer arguments are at least promoted to int.

[r28259]

13 years agoCorrect signed/unsigned mismatches due to size_t.
Christoph Mallon [Wed, 19 Jan 2011 13:02:23 +0000 (13:02 +0000)]
Correct signed/unsigned mismatches due to size_t.

[r28258]

13 years agoRemove assert, which generates a warning, because a variable of type size_t is always...
Christoph Mallon [Wed, 19 Jan 2011 13:02:21 +0000 (13:02 +0000)]
Remove assert, which generates a warning, because a variable of type size_t is always >= 0.

[r28257]

13 years agoInclude stddef.h for size_t.
Christoph Mallon [Wed, 19 Jan 2011 13:02:19 +0000 (13:02 +0000)]
Include stddef.h for size_t.

[r28256]

13 years agoLet PTR_TO_INT return ptrdiff_t now instead of int.
Michael Beck [Wed, 19 Jan 2011 00:02:20 +0000 (00:02 +0000)]
Let PTR_TO_INT return ptrdiff_t now instead of int.

[r28255]

13 years agoFixed some size_t related warnings.
Michael Beck [Tue, 18 Jan 2011 23:49:31 +0000 (23:49 +0000)]
Fixed some size_t related warnings.

[r28254]

13 years agoSwitched set, pset, eset to size_t, hash remains unsigned.
Michael Beck [Tue, 18 Jan 2011 23:49:12 +0000 (23:49 +0000)]
Switched set, pset, eset to size_t, hash remains unsigned.

[r28253]

13 years agoLet the length of tarval be of type size_t.
Michael Beck [Tue, 18 Jan 2011 21:38:47 +0000 (21:38 +0000)]
Let the length of tarval be of type size_t.

[r28251]

13 years agoadd another special case to begnuas so string-sub-initializer are emitted as .string too
Matthias Braun [Mon, 17 Jan 2011 15:58:56 +0000 (15:58 +0000)]
add another special case to begnuas so string-sub-initializer are emitted as .string too

[r28249]

13 years agoBail out if we do not know how to assemble CPUID.
Christoph Mallon [Mon, 17 Jan 2011 15:38:35 +0000 (15:38 +0000)]
Bail out if we do not know how to assemble CPUID.

[r28248]

13 years agoDo not use b (ebx) as asm constraint, when compiling with __PIC__. GCC cannot handle...
Christoph Mallon [Mon, 17 Jan 2011 15:38:33 +0000 (15:38 +0000)]
Do not use b (ebx) as asm constraint, when compiling with __PIC__.  GCC cannot handle this.

[r28247]

13 years agoRemove NOP-cast.
Christoph Mallon [Mon, 17 Jan 2011 15:38:30 +0000 (15:38 +0000)]
Remove NOP-cast.

[r28246]

13 years agocleanup and simplify phi-construction code
Matthias Braun [Tue, 11 Jan 2011 19:46:48 +0000 (19:46 +0000)]
cleanup and simplify phi-construction code

[r28242]

13 years agoRemoved old and unused support for sorted arrays.
Michael Beck [Sat, 8 Jan 2011 21:33:10 +0000 (21:33 +0000)]
Removed old and unused support for sorted arrays.

[r28241]

13 years agoremove get_irn_modename, get_irn_modeident from public API. It's unclear why we need...
Matthias Braun [Sat, 8 Jan 2011 12:32:25 +0000 (12:32 +0000)]
remove get_irn_modename, get_irn_modeident from public API. It's unclear why we need an explicit combination of get_irn_mode and get_mode_name

[r28240]

13 years agofix doxygen warnings
Matthias Braun [Sat, 8 Jan 2011 12:32:22 +0000 (12:32 +0000)]
fix doxygen warnings

[r28239]

13 years agoautomatically generate node constructor declarations
Matthias Braun [Sat, 8 Jan 2011 12:32:19 +0000 (12:32 +0000)]
automatically generate node constructor declarations

[r28238]

13 years agoadd comments to attributes and inputs in spec file
Matthias Braun [Sat, 8 Jan 2011 12:32:17 +0000 (12:32 +0000)]
add comments to attributes and inputs in spec file

[r28237]

13 years agokill the niymap exception from generator
Matthias Braun [Sat, 8 Jan 2011 12:32:15 +0000 (12:32 +0000)]
kill the niymap exception from generator

[r28236]

13 years agoremove special case with ir_cons_flags argument
Matthias Braun [Sat, 8 Jan 2011 12:32:13 +0000 (12:32 +0000)]
remove special case with ir_cons_flags argument

[r28235]

13 years agomove Proj attributes into a proj_attr struct, so we can get rid of more special cases
Matthias Braun [Sat, 8 Jan 2011 12:32:10 +0000 (12:32 +0000)]
move Proj attributes into a proj_attr struct, so we can get rid of more special cases

[r28234]

13 years agoremove the 'special-constructor' feature. This removes a bunch of strange exceptions...
Matthias Braun [Sat, 8 Jan 2011 12:32:07 +0000 (12:32 +0000)]
remove the 'special-constructor' feature. This removes a bunch of strange exceptions in the node generation scripts

[r28233]

13 years agoput node descriptions into the spec file
Matthias Braun [Sat, 8 Jan 2011 12:32:04 +0000 (12:32 +0000)]
put node descriptions into the spec file

[r28232]

13 years agojava_add parts are specified in jFirm now
Matthias Braun [Sat, 8 Jan 2011 12:32:02 +0000 (12:32 +0000)]
java_add parts are specified in jFirm now

[r28231]

13 years agoremove unnecessary line-endings from beginning of generated files
Matthias Braun [Sat, 8 Jan 2011 12:32:01 +0000 (12:32 +0000)]
remove unnecessary line-endings from beginning of generated files

[r28230]

13 years agodo not include automatically generated files into version control
Matthias Braun [Sat, 8 Jan 2011 12:31:59 +0000 (12:31 +0000)]
do not include automatically generated files into version control

[r28229]

13 years agoadd type verifier: entities in global types must have names
Matthias Braun [Sat, 8 Jan 2011 12:31:56 +0000 (12:31 +0000)]
add type verifier: entities in global types must have names

[r28228]

13 years agofix warning
Matthias Braun [Sat, 8 Jan 2011 11:04:27 +0000 (11:04 +0000)]
fix warning

[r28227]

13 years agoneed to include stdlib.h for size_t
Matthias Braun [Sat, 8 Jan 2011 11:04:25 +0000 (11:04 +0000)]
need to include stdlib.h for size_t

[r28226]

13 years agowe cannot use the printf attribute if we have custom format specifiers
Matthias Braun [Sat, 8 Jan 2011 11:04:22 +0000 (11:04 +0000)]
we cannot use the printf attribute if we have custom format specifiers

[r28225]

13 years agofix whitespace/indentation of loop.c (again)
Matthias Braun [Sat, 8 Jan 2011 11:04:19 +0000 (11:04 +0000)]
fix whitespace/indentation of loop.c (again)

[r28224]

13 years agoFixed doxygen comments for ir_printf and friends, fixed printf attribute handling.
Michael Beck [Sat, 8 Jan 2011 01:09:28 +0000 (01:09 +0000)]
Fixed doxygen comments for ir_printf and friends, fixed printf attribute handling.

[r28223]

13 years agoFurther improved lc_printf() and friends.
Michael Beck [Sat, 8 Jan 2011 00:26:48 +0000 (00:26 +0000)]
Further improved lc_printf() and friends.

- add support for h and hh type modifier
- add __attribute__((format ...)) for all printf-like functions
- fixed size_t related warnings

[r28222]

13 years agoFixed some 64bit warnings because of mixing size_t and other types.
Michael Beck [Thu, 6 Jan 2011 23:36:57 +0000 (23:36 +0000)]
Fixed some 64bit warnings because of mixing size_t and other types.

[r28221]

13 years agofix memory leak
Matthias Braun [Thu, 6 Jan 2011 16:24:40 +0000 (16:24 +0000)]
fix memory leak

[r28220]

13 years agoimplement ASM import/export
Matthias Braun [Thu, 6 Jan 2011 16:18:58 +0000 (16:18 +0000)]
implement ASM import/export

[r28219]

13 years agoadd functions for generic list im/exporting
Matthias Braun [Thu, 6 Jan 2011 16:18:56 +0000 (16:18 +0000)]
add functions for generic list im/exporting

[r28218]

13 years agorework string reading/writing
Matthias Braun [Thu, 6 Jan 2011 16:18:54 +0000 (16:18 +0000)]
rework string reading/writing

[r28217]

13 years agocleanup reading/writing of long/int/unsigned values
Matthias Braun [Thu, 6 Jan 2011 16:18:52 +0000 (16:18 +0000)]
cleanup reading/writing of long/int/unsigned values

[r28216]

13 years agoyou can specify in the spec now for which nodes no standard import/export code is...
Matthias Braun [Thu, 6 Jan 2011 16:18:47 +0000 (16:18 +0000)]
you can specify in the spec now for which nodes no standard import/export code is generated; fix bug with Proj nodes block

[r28215]

13 years agoPartly revert r28208 by using ir_printf with %zu format for size_t.
Michael Beck [Thu, 6 Jan 2011 01:49:00 +0000 (01:49 +0000)]
Partly revert r28208 by using ir_printf with %zu format for size_t.

[r28214]

13 years agoImproved the comment ... a bit.
Michael Beck [Thu, 6 Jan 2011 01:48:51 +0000 (01:48 +0000)]
Improved the comment ... a bit.

[r28213]

13 years agoEnable lc_printf and friends handling of j, t, and z length modifier.
Michael Beck [Thu, 6 Jan 2011 01:48:42 +0000 (01:48 +0000)]
Enable lc_printf and friends handling of j, t, and z length modifier.

Add a work-around for non-C99 MSCRT.

Use ir_printf now instead of printf.

[r28212]

13 years agofix irio not working correctly anymore after MacroBlocks were removed
Matthias Braun [Wed, 5 Jan 2011 17:28:45 +0000 (17:28 +0000)]
fix irio not working correctly anymore after MacroBlocks were removed

[r28210]

13 years agoavoid current_ir_graph in irio
Matthias Braun [Wed, 5 Jan 2011 17:28:43 +0000 (17:28 +0000)]
avoid current_ir_graph in irio

[r28209]

13 years agofix warnings about wrong format specifiers for size_t
Matthias Braun [Wed, 5 Jan 2011 17:28:39 +0000 (17:28 +0000)]
fix warnings about wrong format specifiers for size_t

[r28208]

13 years agoConstify.
Michael Beck [Tue, 28 Dec 2010 13:12:51 +0000 (13:12 +0000)]
Constify.

[r28204]

13 years agoReplaced magic constants by an enum.
Michael Beck [Tue, 28 Dec 2010 13:12:40 +0000 (13:12 +0000)]
Replaced magic constants by an enum.

[r28203]

13 years agoAdd and fix some comments.
Michael Beck [Tue, 28 Dec 2010 13:12:30 +0000 (13:12 +0000)]
Add and fix some comments.

[r28202]

13 years agoFixed typo.
Michael Beck [Tue, 28 Dec 2010 13:12:19 +0000 (13:12 +0000)]
Fixed typo.

[r28201]

13 years agoSwitch bitset.h/raw_bitset.h to size_t instead of unsigned size parameters.
Michael Beck [Mon, 27 Dec 2010 22:29:47 +0000 (22:29 +0000)]
Switch bitset.h/raw_bitset.h to size_t instead of unsigned size parameters.

Note that this is an ugly change because ALL index variables used inside
bitset_foreach() MUST be switched to size_t now, or the magical

elm != (size_t) -1;

will fail :-(

[r28199]

13 years agoFixed warning because of wrong type.
Michael Beck [Mon, 27 Dec 2010 22:29:27 +0000 (22:29 +0000)]
Fixed warning because of wrong type.

[r28198]

13 years agoRemoved yet unused variable.
Michael Beck [Wed, 22 Dec 2010 00:54:33 +0000 (00:54 +0000)]
Removed yet unused variable.

[r28197]

13 years agoFixed some 64bit warnings by using size_t and fixing compare functions.
Michael Beck [Wed, 22 Dec 2010 00:54:22 +0000 (00:54 +0000)]
Fixed some 64bit warnings by using size_t and fixing compare functions.

[r28196]

13 years agoAdd support for Win64.
Michael Beck [Tue, 21 Dec 2010 02:09:06 +0000 (02:09 +0000)]
Add support for Win64.

[r28195]

13 years agoFixed some 64bit warnings by using size_t instead of unsigned.
Michael Beck [Tue, 21 Dec 2010 02:08:57 +0000 (02:08 +0000)]
Fixed some 64bit warnings by using size_t instead of unsigned.

[r28194]

13 years agoObstack: Deleted the special windows version, make Win64 warning free.
Michael Beck [Tue, 21 Dec 2010 02:08:45 +0000 (02:08 +0000)]
Obstack: Deleted the special windows version, make Win64 warning free.

Use PTR_INT_TYPE instead of long which is 32bit on Win64.

[r28193]

13 years agomake verifier independent of current_ir_graph
Matthias Braun [Wed, 15 Dec 2010 11:38:19 +0000 (11:38 +0000)]
make verifier independent of current_ir_graph

[r28189]

13 years agofurther extend API so parallel construction of multiple graphs is possible
Matthias Braun [Wed, 15 Dec 2010 11:38:15 +0000 (11:38 +0000)]
further extend API so parallel construction of multiple graphs is possible

[r28188]

13 years agoRemoved the arch_register_type_is() macro.
Michael Beck [Mon, 6 Dec 2010 19:01:56 +0000 (19:01 +0000)]
Removed the arch_register_type_is() macro.

Only makes it hard to search for arch_register_type_* flags.

[r28185]

13 years agoFixed memory leak, fixed some typos, add some doxygen docu.
Michael Beck [Mon, 6 Dec 2010 09:52:31 +0000 (09:52 +0000)]
Fixed memory leak, fixed some typos, add some doxygen docu.

[r28184]

13 years agoRestored somehow lost AMD Family 11h support.
Michael Beck [Mon, 6 Dec 2010 09:09:05 +0000 (09:09 +0000)]
Restored somehow lost AMD Family 11h support.

[r28183]

13 years agoImproved native detection further.
Michael Beck [Sat, 4 Dec 2010 11:20:04 +0000 (11:20 +0000)]
Improved native detection further.

- split out cmov and popcnt feature, can be detected by cpuid
- use feature flags even if not intel or amd cpu
- p6 instructions cannot be detected by feature bit, set them on
  architecture detection
- detect old Geode

[r28182]

13 years agoImproved AMD detection.
Michael Beck [Sat, 4 Dec 2010 10:20:27 +0000 (10:20 +0000)]
Improved AMD detection.

[r28181]

13 years agoInstead of panic() offer the native option only if running on x86 xpu.
Michael Beck [Sat, 4 Dec 2010 09:26:10 +0000 (09:26 +0000)]
Instead of panic() offer the native option only if running on x86 xpu.

[r28180]

13 years agoNative detection works on 32 and 64bit x86 cpus yet.
Michael Beck [Sat, 4 Dec 2010 09:21:36 +0000 (09:21 +0000)]
Native detection works on 32 and 64bit x86 cpus yet.

Allowed native 32bit code generation when running on 64bit x86.
Removed ebx save, gcc should handle this.
Enable native detection on windows again.

[r28179]

13 years agoautodetection is only possible when compiling for an x86 machine
Matthias Braun [Fri, 3 Dec 2010 08:36:48 +0000 (08:36 +0000)]
autodetection is only possible when compiling for an x86 machine

[r28177]

13 years agomake Makefile robust against deleted headers
Matthias Braun [Wed, 1 Dec 2010 13:55:01 +0000 (13:55 +0000)]
make Makefile robust against deleted headers

[r28176]

13 years agocallback typedef not needed anymore
Matthias Braun [Wed, 1 Dec 2010 13:25:41 +0000 (13:25 +0000)]
callback typedef not needed anymore

[r28175]

13 years agobe_lower_for_target is now a simple function in the public API
Matthias Braun [Wed, 1 Dec 2010 13:11:29 +0000 (13:11 +0000)]
be_lower_for_target is now a simple function in the public API

[r28172]

13 years agouse a 'low-tech' solution for emitting 8- and 16-bit register names. This also fixes...
Matthias Braun [Wed, 1 Dec 2010 10:32:05 +0000 (10:32 +0000)]
use a 'low-tech' solution for emitting 8- and 16-bit register names. This also fixes a recently introduced bug in ia32_build_8bit_reg_map_high

[r28168]

13 years agocreate new_tarval_from_long_double function and change argument of new_tarval_from_do...
Matthias Braun [Wed, 1 Dec 2010 10:32:03 +0000 (10:32 +0000)]
create new_tarval_from_long_double function and change argument of new_tarval_from_double to double - so bindings can get away with C89 types only

[r28167]

13 years agoFixed new_d_defaultProj(), handle Bad predecessor.
Michael Beck [Mon, 29 Nov 2010 21:00:50 +0000 (21:00 +0000)]
Fixed new_d_defaultProj(), handle Bad predecessor.

[r28166]

13 years agoUpdated and fixed "native" support.
Michael Beck [Fri, 26 Nov 2010 02:17:57 +0000 (02:17 +0000)]
Updated and fixed "native" support.

- add support for MSVC compiler
- fixed cpuid toggle code
- fixed wrong ussage of feature mask register
- detect atom, core2, K10
- removed panics ...

Probably the whole detection code should be either moved into the frontend
OR at least into some extra file, so it can be reused for the amd64 and the
upcoming new x86 backends.

[r28160]

13 years agoCode cleanup
Andreas Zwinkau [Thu, 25 Nov 2010 14:03:43 +0000 (14:03 +0000)]
Code cleanup

Results of review by Mallon

[r28156]

13 years agoAMD autodetection extended
Andreas Zwinkau [Thu, 25 Nov 2010 10:13:03 +0000 (10:13 +0000)]
AMD autodetection extended

[r28155]

13 years agoAdd -march=native parameter
Andreas Zwinkau [Thu, 25 Nov 2010 10:13:02 +0000 (10:13 +0000)]
Add -march=native parameter

[r28154]

13 years agoallow specification of dll-extension
Matthias Braun [Tue, 23 Nov 2010 06:37:01 +0000 (06:37 +0000)]
allow specification of dll-extension

[r28153]

13 years agoremove strange init_once/inited checks from arch_init functions. Calling it twice...
Matthias Braun [Tue, 23 Nov 2010 06:37:00 +0000 (06:37 +0000)]
remove strange init_once/inited checks from arch_init functions. Calling it twice is invalid (and crashs anyway)

[r28152]

13 years agoSimplified code, decrease register pressure, add some doxygen docu.
Michael Beck [Sun, 21 Nov 2010 10:44:47 +0000 (10:44 +0000)]
Simplified code, decrease register pressure, add some doxygen docu.

[r28149]

13 years agoAdd some doxygen docu.
Michael Beck [Sun, 21 Nov 2010 10:44:34 +0000 (10:44 +0000)]
Add some doxygen docu.

[r28148]

13 years agoTurn while loop into do-while, we know it will be executed at least once.
Michael Beck [Sun, 21 Nov 2010 10:25:02 +0000 (10:25 +0000)]
Turn while loop into do-while, we know it will be executed at least once.

[r28147]

13 years agoReplaced pmaps used for 16 and 8bit register names by simple array lookups.
Michael Beck [Fri, 19 Nov 2010 21:57:41 +0000 (21:57 +0000)]
Replaced pmaps used for 16 and 8bit register names by simple array lookups.

[r28146]

13 years agoAdd some doxygen docu.
Michael Beck [Fri, 19 Nov 2010 21:57:24 +0000 (21:57 +0000)]
Add some doxygen docu.

[r28145]

13 years agoPut definition of get_base_sc() into .c file to remove the (non-standard) inline...
Michael Beck [Wed, 17 Nov 2010 23:17:02 +0000 (23:17 +0000)]
Put definition of get_base_sc() into .c file to remove the (non-standard) inline specifier from official header.

Most users of this function are inside teh same c file, so the performance hit is small.

[r28144]

13 years agoFixed indentation of generated code.
Michael Beck [Wed, 17 Nov 2010 23:16:49 +0000 (23:16 +0000)]
Fixed indentation of generated code.

[r28143]

13 years agoUse the same constants for register flags as the ia32 spec.
Michael Beck [Wed, 17 Nov 2010 23:16:37 +0000 (23:16 +0000)]
Use the same constants for register flags as the ia32 spec.

[r28142]

13 years agoadd entity_has_ld_ident function
Matthias Braun [Wed, 17 Nov 2010 12:00:07 +0000 (12:00 +0000)]
add entity_has_ld_ident function

[r28141]

13 years agoFixed windows build: unistd.h is not a portable header ...
Michael Beck [Sun, 14 Nov 2010 00:43:50 +0000 (00:43 +0000)]
Fixed windows build: unistd.h is not a portable header ...

[r28140]

13 years agoPrefix global entities from the ia32 backend with ia32_ to prevent (future) collisitions.
Michael Beck [Sun, 14 Nov 2010 00:38:33 +0000 (00:38 +0000)]
Prefix global entities from the ia32 backend with ia32_ to prevent (future) collisitions.

[r28139]

13 years agoBetter fix for __attibute__ usage, this is a GCC feature.
Michael Beck [Mon, 8 Nov 2010 08:53:35 +0000 (08:53 +0000)]
Better fix for __attibute__ usage, this is a GCC feature.

[r28137]