Michael Beck [Sat, 7 Jun 2008 23:30:26 +0000 (23:30 +0000)]
- fixed lowering of Rotl
[r20026]
Michael Beck [Sat, 7 Jun 2008 23:28:14 +0000 (23:28 +0000)]
- split the old constant_folding flag into constant_folding and algebraic_simplification
[r20025]
Michael Beck [Sat, 7 Jun 2008 18:04:36 +0000 (18:04 +0000)]
- make the dot at the start of debugger commands optional
[r20023]
Michael Beck [Sat, 7 Jun 2008 17:55:13 +0000 (17:55 +0000)]
add missing include (although not needed, but API used)
[r20022]
Michael Beck [Sat, 7 Jun 2008 17:53:48 +0000 (17:53 +0000)]
- BugFix: the mode of the lower part of a DW lowered pair must be mode_Iu, thsi fixes error113.c
[r20021]
Michael Beck [Sat, 7 Jun 2008 17:51:41 +0000 (17:51 +0000)]
demonstrates an error in ShrsLs lowering
[r20020]
Michael Beck [Fri, 6 Jun 2008 16:52:11 +0000 (16:52 +0000)]
renamed node type Rot to Rotl to make clear that this is a LEFT rotation
[r20010]
Michael Beck [Fri, 6 Jun 2008 16:44:53 +0000 (16:44 +0000)]
updated to current version
[r20009]
Michael Beck [Fri, 6 Jun 2008 11:45:48 +0000 (11:45 +0000)]
updated
[r20000]
Michael Beck [Fri, 6 Jun 2008 07:59:14 +0000 (07:59 +0000)]
updated
[r19993]
Michael Beck [Fri, 6 Jun 2008 06:03:52 +0000 (06:03 +0000)]
enhanced version
[r19992]
Michael Beck [Fri, 6 Jun 2008 05:57:53 +0000 (05:57 +0000)]
- better detection of local addresses
- malloced data is "local" in this context
- check for calls inside: non self recursive calls might access non-local memory
- fixes enhanced fehler110.c
[r19991]
Michael Beck [Fri, 6 Jun 2008 05:54:23 +0000 (05:54 +0000)]
- export classify_pointer()
- add ir_ prefix to some irmemory types and enum values
[r19990]
Michael Beck [Fri, 6 Jun 2008 05:53:02 +0000 (05:53 +0000)]
is_self_recursive_Call() added
[r19989]
Michael Beck [Thu, 5 Jun 2008 19:41:37 +0000 (19:41 +0000)]
- BugFix: do NOT do the copy-return optimization if there might be access to the destination. This fixed fehler110.c
[r19988]
Michael Beck [Wed, 4 Jun 2008 21:09:26 +0000 (21:09 +0000)]
current version
[r19983]
Matthias Braun [Wed, 4 Jun 2008 14:00:41 +0000 (14:00 +0000)]
old fehler 110...
[r19978]
Matthias Braun [Wed, 4 Jun 2008 13:57:52 +0000 (13:57 +0000)]
compound return problems
[r19977]
Matthias Braun [Tue, 3 Jun 2008 14:27:21 +0000 (14:27 +0000)]
switch projs have long pnc not pn_Cmp
[r19955]
Matthias Braun [Tue, 3 Jun 2008 14:05:21 +0000 (14:05 +0000)]
we do need conv/cast skipping
[r19953]
Matthias Braun [Mon, 2 Jun 2008 16:57:41 +0000 (16:57 +0000)]
handle Bads more gracefully
[r19945]
Michael Beck [Mon, 2 Jun 2008 15:05:44 +0000 (15:05 +0000)]
add missing condition
[r19942]
Matthias Braun [Mon, 2 Jun 2008 14:27:59 +0000 (14:27 +0000)]
only skip float->float convs
[r19939]
Michael Beck [Mon, 2 Jun 2008 13:29:06 +0000 (13:29 +0000)]
- added option -b omitleaffp, omitting the frame pointer in leaf routines only (allow better debugging the -b omitfp)
[r19928]
Michael Beck [Mon, 2 Jun 2008 13:08:04 +0000 (13:08 +0000)]
- better handling for strictConv's, optimized conv_orgie.c now
[r19927]
Michael Beck [Mon, 2 Jun 2008 11:59:46 +0000 (11:59 +0000)]
test for strictConv orgie
[r19926]
Michael Beck [Mon, 2 Jun 2008 11:55:54 +0000 (11:55 +0000)]
- Fixed strict-convs before Stores again: We can skip at least those
that conv TO the same mode as the store
[r19925]
Matthias Braun [Mon, 2 Jun 2008 10:19:11 +0000 (10:19 +0000)]
add missing returns
[r19914]
Michael Beck [Sun, 1 Jun 2008 20:25:03 +0000 (20:25 +0000)]
- stack alignment is now power of two
[r19910]
Michael Beck [Sun, 1 Jun 2008 16:16:45 +0000 (16:16 +0000)]
Do NOT ignore Bad Phi predecessors. Otherwise
Phi nodes might be removed in dead cycles (causing normal nodes
pointing to themselfs).
[r19907]
Michael Beck [Sun, 1 Jun 2008 15:32:23 +0000 (15:32 +0000)]
call optimize_cf() to delete dead-code that might arise after cond_eval
[r19906]
Matthias Braun [Sat, 31 May 2008 10:47:43 +0000 (10:47 +0000)]
use ir_type from call instead of the type from the symconst entity in mapper
[r19887]
Matthias Braun [Sat, 31 May 2008 10:40:03 +0000 (10:40 +0000)]
outputting +,-,* in assembler makes no sense for floats
[r19885]
Matthias Braun [Sat, 31 May 2008 10:39:31 +0000 (10:39 +0000)]
fix alloca mapper
[r19884]
Matthias Braun [Sat, 31 May 2008 10:27:30 +0000 (10:27 +0000)]
Alloc is not a binop
[r19882]
Michael Beck [Sat, 31 May 2008 09:56:42 +0000 (09:56 +0000)]
updated for latest libFirm changes
[r19881]
Matthias Braun [Sat, 31 May 2008 06:19:55 +0000 (06:19 +0000)]
no, we cannot skip all convs before vfst (but just float->float convs)
[r19872]
Michael Beck [Sat, 31 May 2008 01:16:47 +0000 (01:16 +0000)]
- in x87 mode, skipp ALL conv's before stores
- BugFix: handle float->int Conv and Store right for SSE
[r19870]
Michael Beck [Sat, 31 May 2008 00:56:18 +0000 (00:56 +0000)]
allow x + 0.0 = x even in strict mode
[r19869]
Michael Beck [Fri, 30 May 2008 20:54:35 +0000 (20:54 +0000)]
renamed modecode, mode_sort, mode_arithmetic to ir_*
[r19868]
Michael Beck [Fri, 30 May 2008 20:38:44 +0000 (20:38 +0000)]
inline_method():
- check the argument and the parameter types for compatibility
- can inline methods with "mostly" compatible call/entity types
- better check for additional parameters
[r19867]
Michael Beck [Fri, 30 May 2008 19:15:08 +0000 (19:15 +0000)]
- removed assertion() it is allowed to ask for non-existing arguments
[r19866]
Michael Beck [Fri, 30 May 2008 16:30:38 +0000 (16:30 +0000)]
handle a call with less arguments than needed gracefully: don't inline yet
[r19859]
Michael Beck [Fri, 30 May 2008 15:00:38 +0000 (15:00 +0000)]
- no more be_init(): backend is initialised in init_firm
[r19855]
Michael Beck [Fri, 30 May 2008 14:51:08 +0000 (14:51 +0000)]
- no more be_init(): backend is initialised in init_firm
[r19852]
Michael Beck [Fri, 30 May 2008 13:36:52 +0000 (13:36 +0000)]
add extra info for immediate float mode
[r19841]
Michael Beck [Fri, 30 May 2008 13:34:44 +0000 (13:34 +0000)]
add missing prototyp for dump_block_marker_in_title()
[r19840]
Matthias Braun [Fri, 30 May 2008 11:34:53 +0000 (11:34 +0000)]
cleanup space generation logic and make it more robust for union constructs
[r19833]
Michael Beck [Thu, 29 May 2008 09:05:04 +0000 (09:05 +0000)]
fixed warning
[r19825]
Michael Beck [Thu, 29 May 2008 02:23:51 +0000 (02:23 +0000)]
- Fixed output for IncSP nodes
- removed unused code
[r19824]
Michael Beck [Thu, 29 May 2008 01:58:34 +0000 (01:58 +0000)]
- Add a peephole phase that fixes all stack offsets
[r19823]
Michael Beck [Thu, 29 May 2008 01:57:01 +0000 (01:57 +0000)]
- Emitter for IncSP emits now Add or Sub
- do not emit NOP instructions like IncSP(0) or Copy x,x
[r19822]
Michael Beck [Thu, 29 May 2008 01:55:45 +0000 (01:55 +0000)]
renamed SubSP to SubSPandCopy, add some constants
[r19821]
Michael Beck [Wed, 28 May 2008 22:47:36 +0000 (22:47 +0000)]
- moved peephole_IncSP_IncSP() to bepeephole.c, as this is a generic function and can be used from other BE's
[r19817]
Michael Beck [Wed, 28 May 2008 20:19:07 +0000 (20:19 +0000)]
simplify code
[r19816]
Michael Beck [Wed, 28 May 2008 15:06:33 +0000 (15:06 +0000)]
fixed warning
[r19815]
Michael Beck [Wed, 28 May 2008 15:05:10 +0000 (15:05 +0000)]
better version of the barrier remover (no warnings)
[r19814]
Michael Beck [Wed, 28 May 2008 14:46:49 +0000 (14:46 +0000)]
remove barrier from schedule before peephole optimization
[r19813]
Michael Beck [Wed, 28 May 2008 13:42:24 +0000 (13:42 +0000)]
implemened add esp, 4/8 -> push/push
[r19812]
Michael Beck [Wed, 28 May 2008 13:05:48 +0000 (13:05 +0000)]
fixed condition for add/sub esp, 4/8
[r19810]
Michael Beck [Wed, 28 May 2008 11:43:30 +0000 (11:43 +0000)]
bock marker can be dumped in the block title
[r19807]
Michael Beck [Wed, 28 May 2008 11:36:46 +0000 (11:36 +0000)]
- dump the block mark
- reorder output a bit
[r19806]
Michael Beck [Wed, 28 May 2008 11:29:40 +0000 (11:29 +0000)]
- added is_Id, is_CallBegin, is_Free
- placed mode #ifdef INTERPROCEDURAL_VIEW
- used is_*(x) fucntions instead of x->op == op_X
[r19805]
Michael Beck [Wed, 28 May 2008 10:38:15 +0000 (10:38 +0000)]
- added is_Filter()
- fixed is_Proj() implementation
- improved docu a bit
[r19804]
Michael Beck [Tue, 27 May 2008 17:10:02 +0000 (17:10 +0000)]
- changed docu uses Phi list instead of links now
[r19803]
Michael Beck [Tue, 27 May 2008 17:07:31 +0000 (17:07 +0000)]
Phi's are now transmitted as a Phi list, not using links
[r19802]
Michael Beck [Tue, 27 May 2008 15:35:47 +0000 (15:35 +0000)]
BugFix: phi node might be exchanged, read the next Phi before this can happen
[r19801]
Michael Beck [Tue, 27 May 2008 15:17:05 +0000 (15:17 +0000)]
- BugFix: set the mark on the right block
- fixed warning
- use get_Block_cfgpred_block() where appropriate
[r19800]
Michael Beck [Tue, 27 May 2008 14:12:04 +0000 (14:12 +0000)]
add missing non-inline versions
[r19798]
Michael Beck [Tue, 27 May 2008 13:45:31 +0000 (13:45 +0000)]
BugFix: fixed Phi-list manipulation
[r19797]
Michael Beck [Tue, 27 May 2008 13:42:08 +0000 (13:42 +0000)]
redo r19786, peculiarity has been fixed in the cparser FE
[r19796]
Matthias Braun [Tue, 27 May 2008 12:52:41 +0000 (12:52 +0000)]
need includes for alloca
[r19794]
Matthias Braun [Tue, 27 May 2008 11:44:59 +0000 (11:44 +0000)]
remove a too strict check, we can have local function entites with no irg assigned (its not useful but perfectly legal in many languages)
[r19786]
Matthias Braun [Tue, 27 May 2008 11:27:26 +0000 (11:27 +0000)]
make verifier a bit less strict about keeps
[r19784]
Matthias Braun [Tue, 27 May 2008 11:24:14 +0000 (11:24 +0000)]
do an upconv instead of panic when we do <32bit right shifts
[r19783]
Matthias Braun [Tue, 27 May 2008 07:27:57 +0000 (07:27 +0000)]
build a keep behind each pop to avoid double register warnings
[r19780]
Michael Beck [Mon, 26 May 2008 14:29:40 +0000 (14:29 +0000)]
add some comments, small cosmetic
[r19777]
Michael Beck [Mon, 26 May 2008 14:09:21 +0000 (14:09 +0000)]
small BugFix
[r19776]
Michael Beck [Mon, 26 May 2008 14:01:02 +0000 (14:01 +0000)]
must use Lg, not Ne to check for !=
[r19775]
Michael Beck [Mon, 26 May 2008 13:50:30 +0000 (13:50 +0000)]
use block Phi lists and Block marks to get rid of block_info_t
[r19774]
Michael Beck [Mon, 26 May 2008 13:37:27 +0000 (13:37 +0000)]
add *_Block_mark() api to mark easily Blocks in the graph
[r19773]
Michael Beck [Mon, 26 May 2008 12:59:43 +0000 (12:59 +0000)]
used new add_Block_phi()
[r19772]
Michael Beck [Mon, 26 May 2008 12:57:14 +0000 (12:57 +0000)]
typo fixed
[r19771]
Michael Beck [Mon, 26 May 2008 12:56:20 +0000 (12:56 +0000)]
add_Block_phi() implemented
[r19770]
Michael Beck [Mon, 26 May 2008 12:21:21 +0000 (12:21 +0000)]
C99 features removed
[r19769]
Matthias Braun [Sun, 25 May 2008 09:39:18 +0000 (09:39 +0000)]
fix a few warnings
[r19760]
Matthias Braun [Sun, 25 May 2008 09:30:08 +0000 (09:30 +0000)]
commit the beginning of advanced boolopt (had that laying around for months now - so before it gets lost...)
[r19759]
Michael Beck [Sun, 25 May 2008 03:52:05 +0000 (03:52 +0000)]
Special handling seems not to work, remove critical edges in advance
[r19758]
Michael Beck [Sun, 25 May 2008 03:42:19 +0000 (03:42 +0000)]
get rid of most Optimisation warning: found add/sub with const
[r19757]
Michael Beck [Sun, 25 May 2008 02:26:31 +0000 (02:26 +0000)]
add Christoph's loop test
[r19755]
Michael Beck [Sun, 25 May 2008 02:23:07 +0000 (02:23 +0000)]
- simplified get_effective_use_block()
- add support for mode_b nodes:
- propagate true/false
- create Phi's at dominance frontier for cond_eval()
[r19754]
Michael Beck [Sun, 25 May 2008 02:14:38 +0000 (02:14 +0000)]
- do not optimize away Confirms with Constants
[r19753]
Michael Beck [Sun, 25 May 2008 02:12:18 +0000 (02:12 +0000)]
- can now handle const-like Confirms
[r19752]
Michael Beck [Sun, 25 May 2008 02:10:49 +0000 (02:10 +0000)]
improved test: added new Confirm/cond_eval combination
[r19751]
Michael Beck [Sat, 24 May 2008 16:55:57 +0000 (16:55 +0000)]
arch_env_* macros updated
[r19750]
Michael Beck [Sat, 24 May 2008 16:35:45 +0000 (16:35 +0000)]
allocate all op attributes on block instead of a lot of malloc calls
[r19749]
Michael Beck [Sat, 24 May 2008 16:22:08 +0000 (16:22 +0000)]
- no need to add two custom pointers: the tag is now simply a 32bit number, typically a FOURCC code
[r19748]
Christoph Mallon [Sat, 24 May 2008 10:11:27 +0000 (10:11 +0000)]
When testing whether generating a Psi is allowed, check whether the mode of the compared values is <= 32 bit in the case when cmov is disallowed, too. (improved Matze's accidental commit)
[r19747]
Matthias Braun [Sat, 24 May 2008 10:08:26 +0000 (10:08 +0000)]
normalize/fix ProjM numbers, avoid dead code in some instances
[r19746]
Matthias Braun [Sat, 24 May 2008 10:05:20 +0000 (10:05 +0000)]
we can have mode_b inputs to Convs as well (I hope this fix is correct...)
[r19745]