Andreas Zwinkau [Thu, 25 Nov 2010 10:13:03 +0000 (10:13 +0000)]
AMD autodetection extended
[r28155]
Andreas Zwinkau [Thu, 25 Nov 2010 10:13:02 +0000 (10:13 +0000)]
Add -march=native parameter
[r28154]
Matthias Braun [Tue, 23 Nov 2010 06:37:01 +0000 (06:37 +0000)]
allow specification of dll-extension
[r28153]
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]
Michael Beck [Sun, 21 Nov 2010 10:44:47 +0000 (10:44 +0000)]
Simplified code, decrease register pressure, add some doxygen docu.
[r28149]
Michael Beck [Sun, 21 Nov 2010 10:44:34 +0000 (10:44 +0000)]
Add some doxygen docu.
[r28148]
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]
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]
Michael Beck [Fri, 19 Nov 2010 21:57:24 +0000 (21:57 +0000)]
Add some doxygen docu.
[r28145]
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]
Michael Beck [Wed, 17 Nov 2010 23:16:49 +0000 (23:16 +0000)]
Fixed indentation of generated code.
[r28143]
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]
Matthias Braun [Wed, 17 Nov 2010 12:00:07 +0000 (12:00 +0000)]
add entity_has_ld_ident function
[r28141]
Michael Beck [Sun, 14 Nov 2010 00:43:50 +0000 (00:43 +0000)]
Fixed windows build: unistd.h is not a portable header ...
[r28140]
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]
Michael Beck [Mon, 8 Nov 2010 08:53:35 +0000 (08:53 +0000)]
Better fix for __attibute__ usage, this is a GCC feature.
[r28137]
Michael Beck [Mon, 8 Nov 2010 08:13:03 +0000 (08:13 +0000)]
Fixed Windows build: Don't use __attribute__ in header files directly ...
[r28136]
Matthias Braun [Fri, 5 Nov 2010 15:20:36 +0000 (15:20 +0000)]
update gitignore
[r28134]
Matthias Braun [Fri, 5 Nov 2010 13:25:09 +0000 (13:25 +0000)]
a firm Makefile
[r28133]
Matthias Braun [Fri, 5 Nov 2010 13:25:08 +0000 (13:25 +0000)]
remove some more strange HAVE_ #ifdefs
[r28132]
Matthias Braun [Fri, 5 Nov 2010 13:25:07 +0000 (13:25 +0000)]
remove obsolete/unused debug stuff in ADTs
[r28131]
Matthias Braun [Thu, 4 Nov 2010 13:53:41 +0000 (13:53 +0000)]
fix for c++ commit
[r28130]
Matthias Braun [Thu, 4 Nov 2010 12:15:34 +0000 (12:15 +0000)]
compile as C++ in msvc
[r28128]
Matthias Braun [Thu, 4 Nov 2010 12:15:30 +0000 (12:15 +0000)]
make firm compilable with a c++ compiler
[r28127]
Matthias Braun [Thu, 4 Nov 2010 12:15:24 +0000 (12:15 +0000)]
Remove the unused functions print_firm_kind() and firm_identify_thing().
[r28126]
Matthias Braun [Thu, 4 Nov 2010 12:15:24 +0000 (12:15 +0000)]
remove unused seqnumbers modules
[r28125]
Matthias Braun [Thu, 28 Oct 2010 12:37:54 +0000 (12:37 +0000)]
remove set_.*_member type functions, as you can too easily violate the owner <-> member relationship
[r28120]
Michael Beck [Wed, 27 Oct 2010 21:48:27 +0000 (21:48 +0000)]
Git wants to change line endings for those ...
[r28119]
Michael Beck [Wed, 27 Oct 2010 21:48:20 +0000 (21:48 +0000)]
Fixed typo.
[r28118]
Matthias Braun [Wed, 13 Oct 2010 14:56:03 +0000 (14:56 +0000)]
let Bad and NoMem nodes get automatically generated
[r28116]
Matthias Braun [Tue, 12 Oct 2010 22:08:27 +0000 (22:08 +0000)]
ia32: fix intrinsics on mac
[r28111]
Andreas Zwinkau [Tue, 12 Oct 2010 10:35:33 +0000 (10:35 +0000)]
API stripping
All removed functions had no implementation.
[r28105]
Andreas Zwinkau [Tue, 12 Oct 2010 10:25:56 +0000 (10:25 +0000)]
Removed API function opt_loopunroll_pass
Implementation already removed before
[r28104]
Matthias Braun [Mon, 11 Oct 2010 16:52:36 +0000 (16:52 +0000)]
cleanup ir_spec and let the script generate Start,End and Sync now
[r28097]
Andreas Zwinkau [Mon, 11 Oct 2010 15:00:10 +0000 (15:00 +0000)]
Remove set_opt_optimize_class_casts declaration from API
The implementation was already deleted before
[r28096]
Andreas Zwinkau [Mon, 11 Oct 2010 12:56:51 +0000 (12:56 +0000)]
Update ir_spec for JNA direct-mode in jFirm
[r28095]
Matthias Braun [Mon, 11 Oct 2010 12:02:14 +0000 (12:02 +0000)]
make libfirm work with strings being const char*
[r28090]
Michael Beck [Fri, 8 Oct 2010 21:44:42 +0000 (21:44 +0000)]
Small improvement: lower a double word x << 1 into x + x, saves one instruction on x86 ...
[r28086]
Michael Beck [Fri, 8 Oct 2010 21:28:23 +0000 (21:28 +0000)]
Allow 64bit Leas (2 shifts and 1 add)
[r28085]
Michael Beck [Fri, 8 Oct 2010 21:26:23 +0000 (21:26 +0000)]
When lowering a double word shift, always conv the right operand to lower_unsigned mode.
[r28084]
Michael Beck [Fri, 8 Oct 2010 20:51:37 +0000 (20:51 +0000)]
Experimental support for double word irarch.
include/libfirm/irarch.h
- give the mode to the eval function
ir/be/ia32/bearch_ia32.c
- the maximum allowed shift is 63 (for double-word shifts) on x86, not 31
ir/be/ia32/ia32_architecture.c
ir/be/ia32/ia32_architecture.h
- estimate the cost for 64bit operations
ir/ir/irarch.c
- pass the mode
[r28081]
Michael Beck [Fri, 8 Oct 2010 20:22:57 +0000 (20:22 +0000)]
Add missing type kind.
[r28080]
Matthias Braun [Fri, 8 Oct 2010 19:51:54 +0000 (19:51 +0000)]
Remove the now unused function get_Proj_type().
[r28079]
Michael Beck [Fri, 8 Oct 2010 19:31:00 +0000 (19:31 +0000)]
Fixed typo.
[r28077]
Michael Beck [Fri, 8 Oct 2010 19:29:19 +0000 (19:29 +0000)]
Moved enum into firm_types, fixed some typos.
[r28076]
Michael Beck [Fri, 8 Oct 2010 19:20:35 +0000 (19:20 +0000)]
Moved functions from opt_confirms.h into official header, do edgjfe can use them.
[r28075]
Michael Beck [Fri, 8 Oct 2010 18:51:59 +0000 (18:51 +0000)]
C99 feature removed.
[r28074]
Matthias Braun [Fri, 8 Oct 2010 14:02:22 +0000 (14:02 +0000)]
make sparc+arm backend completely independent from beabi
[r28073]
Matthias Braun [Fri, 8 Oct 2010 14:02:20 +0000 (14:02 +0000)]
backend: put ignore regs into beirg
[r28072]
Matthias Braun [Fri, 8 Oct 2010 14:02:19 +0000 (14:02 +0000)]
backend: cleanup queries for ignore regs
[r28071]
Matthias Braun [Fri, 8 Oct 2010 14:02:17 +0000 (14:02 +0000)]
sparc: support mode_b lowering
[r28070]
Matthias Braun [Fri, 8 Oct 2010 14:02:16 +0000 (14:02 +0000)]
sparc: implement omit-fp mode
[r28069]
Matthias Braun [Fri, 8 Oct 2010 14:02:15 +0000 (14:02 +0000)]
sparc: model restore as explicit node, refactor Save node
[r28068]
Matthias Braun [Fri, 8 Oct 2010 14:02:13 +0000 (14:02 +0000)]
sparc: crude implementation of float Unknown
[r28067]
Matthias Braun [Fri, 8 Oct 2010 13:36:56 +0000 (13:36 +0000)]
rename tarval to ir_tarval
[r28062]
Matthias Braun [Fri, 8 Oct 2010 13:36:53 +0000 (13:36 +0000)]
fix wrong types
[r28061]
Matthias Braun [Fri, 8 Oct 2010 13:36:52 +0000 (13:36 +0000)]
fix invalid double definition of irg_extblk_info_state
[r28060]
Matthias Braun [Fri, 8 Oct 2010 13:36:51 +0000 (13:36 +0000)]
improved and completely automatic vc2010 projectfile updater
[r28059]
Matthias Braun [Fri, 8 Oct 2010 13:36:50 +0000 (13:36 +0000)]
win32 version of obstack_printf
[r28058]
Matthias Braun [Fri, 8 Oct 2010 13:36:50 +0000 (13:36 +0000)]
remove rbitset_w_size type functions: a raw_bitset with a size is a bitset_t
[r28057]
Matthias Braun [Fri, 8 Oct 2010 13:36:49 +0000 (13:36 +0000)]
adapt current_ir_graph in irg_walk
[r28056]
Matthias Braun [Fri, 8 Oct 2010 13:36:48 +0000 (13:36 +0000)]
lower_dw: refactor to use a smart walk strategy and factoring out some common code to get a node_entry
[r28055]
Matthias Braun [Fri, 8 Oct 2010 13:36:48 +0000 (13:36 +0000)]
lower_dw: Remove RotL special case, normal code produces the same result
[r28054]
Matthias Braun [Fri, 8 Oct 2010 13:36:47 +0000 (13:36 +0000)]
lower_dw: remove pointless comments at end of {}
[r28053]
Matthias Braun [Fri, 8 Oct 2010 13:36:46 +0000 (13:36 +0000)]
lower_dw: irn_idxs are unsigned not int
[r28052]
Matthias Braun [Fri, 8 Oct 2010 13:36:46 +0000 (13:36 +0000)]
lower_dw: get away without #define magic
[r28051]
Matthias Braun [Fri, 8 Oct 2010 13:36:45 +0000 (13:36 +0000)]
lower_dw: be independent of current_ir_graph
[r28050]
Christian Helmer [Wed, 6 Oct 2010 15:24:53 +0000 (15:24 +0000)]
Fixed wrong usage of Abs node, fixed calculations, disabled broken invariant loop unrolling.
[r28049]
Matthias Braun [Wed, 6 Oct 2010 08:40:42 +0000 (08:40 +0000)]
remove irsimpletype stuff (unused/broken)
[r28043]
Matthias Braun [Wed, 6 Oct 2010 08:40:41 +0000 (08:40 +0000)]
cleanup ircons code; add current_ir_graph independent construction bits; new_ir_graph does not set current_ir_graph anymore
[r28042]
Matthias Braun [Wed, 6 Oct 2010 08:40:40 +0000 (08:40 +0000)]
make some more optimisations independent of current_ir_graph
[r28041]
Matthias Braun [Wed, 6 Oct 2010 08:40:39 +0000 (08:40 +0000)]
make reassoc independent of current_ir_graph
[r28040]
Matthias Braun [Wed, 6 Oct 2010 08:40:38 +0000 (08:40 +0000)]
put register classes into arch_env struct, no need for complicated callbacks
[r28039]
Matthias Braun [Wed, 6 Oct 2010 08:40:37 +0000 (08:40 +0000)]
change backends to produce 1 big array with all registers
[r28038]
Matthias Braun [Wed, 6 Oct 2010 08:40:34 +0000 (08:40 +0000)]
forbid calls of new_XXX and new_d_XXX when not in phase_building (only new_r_XXX allowed)
[r28037]
Matthias Braun [Wed, 6 Oct 2010 08:40:33 +0000 (08:40 +0000)]
make firm optimisations independent of current_ir_graph
[r28036]
Matthias Braun [Wed, 6 Oct 2010 08:40:32 +0000 (08:40 +0000)]
jumpthreading: do not rely on current_ir_graph
[r28035]
Matthias Braun [Wed, 6 Oct 2010 08:40:32 +0000 (08:40 +0000)]
workaround for lower_mode_b not working correctly in combination with create_cond_set
[r28034]
Matthias Braun [Wed, 6 Oct 2010 08:40:31 +0000 (08:40 +0000)]
allow_ifconv callback may not be NULL anymore
[r28033]
Matthias Braun [Wed, 6 Oct 2010 08:40:30 +0000 (08:40 +0000)]
fix Phi getting optimized even when optimisations are disabled
[r28032]
Matthias Braun [Wed, 6 Oct 2010 08:40:29 +0000 (08:40 +0000)]
fix bug in new part_block_edges function
[r28031]
Matthias Braun [Wed, 6 Oct 2010 08:40:28 +0000 (08:40 +0000)]
fix trailing whitespaces and tabulators in the middle of a line
[r28030]
Michael Beck [Sat, 2 Oct 2010 06:34:57 +0000 (06:34 +0000)]
C99 feature removed.
[r28028]
Matthias Braun [Wed, 22 Sep 2010 14:07:44 +0000 (14:07 +0000)]
refactor mode_b lowerer to have a create_set callback
[r28023]
Matthias Braun [Wed, 22 Sep 2010 14:07:43 +0000 (14:07 +0000)]
alternative implementation of part_block which uses outedges instead of collect_phiprojs
[r28022]
Matthias Braun [Wed, 22 Sep 2010 14:07:43 +0000 (14:07 +0000)]
remove some unnecessary/confusing flags
[r28021]
Matthias Braun [Wed, 22 Sep 2010 14:07:42 +0000 (14:07 +0000)]
remove MacroBlock concept
[r28020]
Matthias Braun [Wed, 22 Sep 2010 14:07:40 +0000 (14:07 +0000)]
differentiate between Bad and Deleted (because of exchange) nodes, this avoid some invalid memory accesses when trying to get irg from a Bad node
[r28019]
Matthias Braun [Wed, 22 Sep 2010 14:07:39 +0000 (14:07 +0000)]
no need for no_float_fold hack anymore
[r28018]
Matthias Braun [Wed, 22 Sep 2010 14:07:38 +0000 (14:07 +0000)]
remove non-strict exception mode
[r28017]
Matthias Braun [Wed, 22 Sep 2010 14:07:38 +0000 (14:07 +0000)]
backend: remove unused omitleaffp option
[r28016]
Matthias Braun [Wed, 22 Sep 2010 14:07:37 +0000 (14:07 +0000)]
node generator: don't create pn_ and n_ enums if there are no members
[r28015]
Matthias Braun [Wed, 22 Sep 2010 14:07:37 +0000 (14:07 +0000)]
remove unused functions
[r28014]
Matthias Braun [Wed, 22 Sep 2010 14:07:36 +0000 (14:07 +0000)]
fix bug in switch_lowerer
[r28013]
Matthias Braun [Wed, 22 Sep 2010 14:07:35 +0000 (14:07 +0000)]
move typedefs from public header to private header
[r28012]
Matthias Braun [Wed, 22 Sep 2010 14:07:35 +0000 (14:07 +0000)]
optimisations work independently of current_ir_graph now, no need to set/restore it in node construction anymore
[r28011]
Matthias Braun [Wed, 22 Sep 2010 14:07:34 +0000 (14:07 +0000)]
remove ilp scheduler; simplify listsched interface
[r28010]
Matthias Braun [Wed, 22 Sep 2010 14:07:33 +0000 (14:07 +0000)]
eliminate the unnecessary and especially confusing concept of a 'code_generator' an isa-interface is enough
[r28009]
Matthias Braun [Wed, 22 Sep 2010 14:07:31 +0000 (14:07 +0000)]
remove some unnecessary #defines
[r28008]
Matthias Braun [Fri, 10 Sep 2010 13:29:26 +0000 (13:29 +0000)]
sparc: fix wrongly specified Stf emitter
[r28004]