libfirm
16 years agooptimize_preds() removed, op x CMP op y and X op a CMP X op b cases implemented
Michael Beck [Thu, 13 Sep 2007 13:35:09 +0000 (13:35 +0000)]
optimize_preds() removed, op x CMP op y and X op a CMP X op b cases implemented

[r15785]

16 years agoadded isa and bias to ia32_intrinsic_env_t, c99 feature removed
Michael Beck [Thu, 13 Sep 2007 13:33:04 +0000 (13:33 +0000)]
added isa and bias to ia32_intrinsic_env_t, c99 feature removed

[r15784]

16 years agois_Cast() added
Michael Beck [Thu, 13 Sep 2007 13:26:58 +0000 (13:26 +0000)]
is_Cast() added

[r15783]

16 years agoMore local optimisation tests.
Christoph Mallon [Thu, 13 Sep 2007 13:24:32 +0000 (13:24 +0000)]
More local optimisation tests.

[r15782]

16 years agoFix r15779 and generalise. Also implement
Christoph Mallon [Thu, 13 Sep 2007 13:22:04 +0000 (13:22 +0000)]
Fix r15779 and generalise. Also implement
- -a - b -> -(a + b)
- a - -b -> a + b

[r15781]

16 years agomore tests for localopts
Matthias Braun [Thu, 13 Sep 2007 12:23:41 +0000 (12:23 +0000)]
more tests for localopts

[r15780]

16 years agoAdd const_negate() which negates a Const node.
Christoph Mallon [Thu, 13 Sep 2007 12:22:55 +0000 (12:22 +0000)]
Add const_negate() which negates a Const node.
Implement
- const - (a - b) -> (b - a) + -const
- const1 - (a * const2) -> (a * -const2) + -const1

[r15779]

16 years agoImplement
Christoph Mallon [Thu, 13 Sep 2007 09:48:38 +0000 (09:48 +0000)]
Implement
- -a * const   -> a * -const
- -a * -b      -> a * b
- -a * (b - c) -> a * (c - b)
- (a - b) * -c -> (b - a) * c

[r15778]

16 years agoimproved test
Michael Beck [Thu, 13 Sep 2007 09:31:23 +0000 (09:31 +0000)]
improved test

[r15777]

16 years agoImproved 32x32=64bit multiplication
Michael Beck [Thu, 13 Sep 2007 09:28:08 +0000 (09:28 +0000)]
Improved 32x32=64bit multiplication

[r15776]

16 years agosome docu
Matthias Braun [Thu, 13 Sep 2007 09:03:45 +0000 (09:03 +0000)]
some docu

[r15775]

16 years agoadded check for Bad in Mul optimization
Michael Beck [Thu, 13 Sep 2007 08:52:00 +0000 (08:52 +0000)]
added check for Bad in Mul optimization

[r15774]

16 years agofix memory inputs of argument copyb (must be call memory, not NewMem)
Matthias Braun [Thu, 13 Sep 2007 08:51:04 +0000 (08:51 +0000)]
fix memory inputs of argument copyb (must be call memory, not NewMem)

[r15773]

16 years agofix warnings
Matthias Braun [Thu, 13 Sep 2007 08:33:24 +0000 (08:33 +0000)]
fix warnings

[r15772]

16 years agofix flags code for mem-input changes
Matthias Braun [Thu, 13 Sep 2007 08:32:13 +0000 (08:32 +0000)]
fix flags code for mem-input changes

[r15771]

16 years ago- first experimental approach of flag modeling in add/adc
Matthias Braun [Thu, 13 Sep 2007 08:11:29 +0000 (08:11 +0000)]
- first experimental approach of flag modeling in add/adc
- support SourceAM for convs
- allow Source/DestAM for 8/16bit modes where this is profitable

[r15770]

16 years agobetter handling of Mul nodes
Michael Beck [Thu, 13 Sep 2007 00:02:45 +0000 (00:02 +0000)]
better handling of Mul nodes

[r15767]

16 years agoConsistently place the mem in for AM directly after base and index.
Christoph Mallon [Wed, 12 Sep 2007 22:27:12 +0000 (22:27 +0000)]
Consistently place the mem in for AM directly after base and index.

[r15766]

16 years agoDeveloped further... might be unstable. so don't use for the moment.
Sebastian Hack [Wed, 12 Sep 2007 21:30:36 +0000 (21:30 +0000)]
Developed further... might be unstable. so don't use for the moment.
spill placement to be done.

[r15765]

16 years agoadd test for n*n=2n bits multiplication
Michael Beck [Wed, 12 Sep 2007 20:31:44 +0000 (20:31 +0000)]
add test for n*n=2n bits multiplication

[r15764]

16 years agoflags fixup phase
Matthias Braun [Wed, 12 Sep 2007 17:05:47 +0000 (17:05 +0000)]
flags fixup phase

[r15763]

16 years agoadd comment
Matthias Braun [Wed, 12 Sep 2007 17:05:30 +0000 (17:05 +0000)]
add comment

[r15762]

16 years agowe need the fix_start_block hack
Matthias Braun [Wed, 12 Sep 2007 17:04:21 +0000 (17:04 +0000)]
we need the fix_start_block hack

[r15761]

16 years agoadd a modify_flags flag
Matthias Braun [Wed, 12 Sep 2007 17:03:48 +0000 (17:03 +0000)]
add a modify_flags flag

[r15760]

16 years agofix warning
Matthias Braun [Wed, 12 Sep 2007 17:02:53 +0000 (17:02 +0000)]
fix warning

[r15759]

16 years agofixed testcase
Matthias Braun [Wed, 12 Sep 2007 17:02:29 +0000 (17:02 +0000)]
fixed testcase

[r15758]

16 years agoedge case for 64bit add where add with flag output is CSEd
Matthias Braun [Wed, 12 Sep 2007 16:53:28 +0000 (16:53 +0000)]
edge case for 64bit add where add with flag output is CSEd

[r15757]

16 years agoset names for ia32 default pns
Matthias Braun [Wed, 12 Sep 2007 16:43:35 +0000 (16:43 +0000)]
set names for ia32 default pns

[r15756]

16 years agoset names for ia32 default pns
Matthias Braun [Wed, 12 Sep 2007 16:43:31 +0000 (16:43 +0000)]
set names for ia32 default pns

[r15755]

16 years agoadded all constructors for Mulh
Michael Beck [Wed, 12 Sep 2007 15:03:03 +0000 (15:03 +0000)]
added all constructors for Mulh

[r15754]

16 years ago- added stronger checks for Mul
Michael Beck [Wed, 12 Sep 2007 11:51:28 +0000 (11:51 +0000)]
- added stronger checks for Mul
- added verifier for Mulh

[r15753]

16 years agomore support for Mulh nodes
Michael Beck [Wed, 12 Sep 2007 11:51:22 +0000 (11:51 +0000)]
more support for Mulh nodes

[r15752]

16 years agodeteled empty "info" files
Michael Beck [Wed, 12 Sep 2007 08:16:19 +0000 (08:16 +0000)]
deteled empty "info" files

[r15749]

16 years agoMulh is now an official opcode
Michael Beck [Wed, 12 Sep 2007 08:15:35 +0000 (08:15 +0000)]
Mulh is now an official opcode

[r15748]

16 years agoadd code to let it compile under _Win32 (x86)
Michael Beck [Wed, 12 Sep 2007 08:13:47 +0000 (08:13 +0000)]
add code to let it compile under _Win32 (x86)

[r15747]

16 years agoremove some unused l_ nodes
Matthias Braun [Tue, 11 Sep 2007 13:11:04 +0000 (13:11 +0000)]
remove some unused l_ nodes

[r15745]

16 years agoHandle left shift (when magnitude > mantissa) when converting float constants to...
Christoph Mallon [Tue, 11 Sep 2007 11:53:49 +0000 (11:53 +0000)]
Handle left shift (when magnitude > mantissa) when converting float constants to int.

[r15744]

16 years agoan outedge debug helper
Matthias Braun [Tue, 11 Sep 2007 11:34:04 +0000 (11:34 +0000)]
an outedge debug helper

[r15743]

16 years agomul fix
Matthias Braun [Tue, 11 Sep 2007 11:33:40 +0000 (11:33 +0000)]
mul fix

[r15742]

16 years agoexecute finish in the finish phase not in the after_ra phase
Matthias Braun [Tue, 11 Sep 2007 11:27:44 +0000 (11:27 +0000)]
execute finish in the finish phase not in the after_ra phase

[r15741]

16 years agofehler76: assertion when converting float constant to int
Christoph Mallon [Tue, 11 Sep 2007 11:12:52 +0000 (11:12 +0000)]
fehler76: assertion when converting float constant to int
fix source of fehler74 and fehler75.

[r15740]

16 years agofehler75: 64bit comparison gets lowered incorrectly.
Christoph Mallon [Tue, 11 Sep 2007 07:31:30 +0000 (07:31 +0000)]
fehler75: 64bit comparison gets lowered incorrectly.

[r15739]

16 years agoRemove duplicate AM declarations.
Christoph Mallon [Tue, 11 Sep 2007 05:50:19 +0000 (05:50 +0000)]
Remove duplicate AM declarations.

[r15738]

16 years agomake use of custom_init_attribute functions for specifying address-mode types and...
Matthias Braun [Mon, 10 Sep 2007 20:37:52 +0000 (20:37 +0000)]
make use of custom_init_attribute functions for specifying address-mode types and producing (a still commented out) modify_flags flag

[r15737]

16 years agoallow user defined functions for outputting node init code
Matthias Braun [Mon, 10 Sep 2007 20:26:06 +0000 (20:26 +0000)]
allow user defined functions for outputting node init code

[r15736]

16 years agoSorry, forgot one... comme toujours
Sebastian Hack [Mon, 10 Sep 2007 19:25:33 +0000 (19:25 +0000)]
Sorry, forgot one... comme toujours

[r15735]

16 years agoadded constant for D->Lu conversion
Michael Beck [Mon, 10 Sep 2007 19:13:59 +0000 (19:13 +0000)]
added constant for D->Lu conversion

[r15734]

16 years agoAdapted to new statev
Sebastian Hack [Mon, 10 Sep 2007 19:10:10 +0000 (19:10 +0000)]
Adapted to new statev

[r15733]

16 years agoJust made a warning go away when building optimized version of the compiler
Sebastian Hack [Mon, 10 Sep 2007 19:08:44 +0000 (19:08 +0000)]
Just made a warning go away when building optimized version of the compiler

[r15732]

16 years agoImproved statev stuff:
Sebastian Hack [Mon, 10 Sep 2007 19:08:03 +0000 (19:08 +0000)]
Improved statev stuff:
- can zip files
- can give regexes as filters
- have stack based timers

Rewrote python script to feed dbs:
- can read zipped files
- sqlite3
- mysql fast csv file import with pipes

[r15731]

16 years agoAdd magic for better code emission of 64bit minus.
Christoph Mallon [Mon, 10 Sep 2007 12:02:53 +0000 (12:02 +0000)]
Add magic for better code emission of 64bit minus.

[r15730]

16 years agoMinus cannot be transformed into 2 Negs :-(
Michael Beck [Mon, 10 Sep 2007 11:27:52 +0000 (11:27 +0000)]
Minus cannot be transformed into 2 Negs :-(

[r15729]

16 years agoAn improved (?) version
Sebastian Hack [Sun, 9 Sep 2007 17:20:13 +0000 (17:20 +0000)]
An improved (?) version

[r15728]

16 years agoBuild immediates for 64bit subs.
Christoph Mallon [Sun, 9 Sep 2007 12:08:08 +0000 (12:08 +0000)]
Build immediates for 64bit subs.

[r15727]

16 years agoset use frame for xLoad constants
Matthias Braun [Sat, 8 Sep 2007 17:49:43 +0000 (17:49 +0000)]
set use frame for xLoad constants

[r15726]

16 years agoxStore, xLoad should have base latency 0
Matthias Braun [Sat, 8 Sep 2007 17:49:24 +0000 (17:49 +0000)]
xStore, xLoad should have base latency 0

[r15725]

16 years ago- Fix typo in commment.
Christoph Mallon [Sat, 8 Sep 2007 16:54:25 +0000 (16:54 +0000)]
- Fix typo in commment.
- Remove redundant flag set (the spec file contains this already).

[r15724]

16 years agoRewrote anything
Sebastian Hack [Sat, 8 Sep 2007 16:13:24 +0000 (16:13 +0000)]
Rewrote anything
adaption to new statev

[r15723]

16 years agoRefactor ia32_transform_lea_to_add_or_shl() a bit.
Christoph Mallon [Sat, 8 Sep 2007 13:14:05 +0000 (13:14 +0000)]
Refactor ia32_transform_lea_to_add_or_shl() a bit.

[r15722]

16 years agoBuild immediates for 64bit adds.
Christoph Mallon [Sat, 8 Sep 2007 11:16:01 +0000 (11:16 +0000)]
Build immediates for 64bit adds.

[r15721]

16 years agoFix immediate creation for sh[lr]d.
Christoph Mallon [Sat, 8 Sep 2007 10:17:14 +0000 (10:17 +0000)]
Fix immediate creation for sh[lr]d.

[r15720]

16 years agoFix a warning.
Christoph Mallon [Sat, 8 Sep 2007 09:25:45 +0000 (09:25 +0000)]
Fix a warning.

[r15719]

16 years agomake sure loops are analysid in loopana, reformatted belower
Matthias Braun [Sat, 8 Sep 2007 09:21:13 +0000 (09:21 +0000)]
make sure loops are analysid in loopana, reformatted belower

[r15718]

16 years agodon't use source AM when the Cmp has multiple users
Matthias Braun [Sat, 8 Sep 2007 09:19:07 +0000 (09:19 +0000)]
don't use source AM when the Cmp has multiple users

[r15717]

16 years agonicer indenting
Matthias Braun [Sat, 8 Sep 2007 09:18:34 +0000 (09:18 +0000)]
nicer indenting

[r15716]

16 years agonicer indenting
Matthias Braun [Sat, 8 Sep 2007 09:18:20 +0000 (09:18 +0000)]
nicer indenting

[r15715]

16 years agoAdd support for float->int conversion (no overflow handling yet)
Michael Beck [Fri, 7 Sep 2007 14:48:00 +0000 (14:48 +0000)]
Add support for float->int conversion (no overflow handling yet)

[r15709]

16 years agoAdd an xZero for generating SSE 0.0
Michael Beck [Fri, 7 Sep 2007 13:38:03 +0000 (13:38 +0000)]
Add an xZero for generating SSE 0.0

[r15707]

16 years agofixed version
Michael Beck [Fri, 7 Sep 2007 11:07:11 +0000 (11:07 +0000)]
fixed version

[r15706]

16 years agofixed ia32_transform_sub_to_neg_add() for SSE nodes: use the right mode
Michael Beck [Fri, 7 Sep 2007 10:57:25 +0000 (10:57 +0000)]
fixed ia32_transform_sub_to_neg_add() for SSE nodes: use the right mode

[r15705]

16 years agoanother more readable version
Michael Beck [Fri, 7 Sep 2007 10:18:35 +0000 (10:18 +0000)]
another more readable version

[r15704]

16 years agoalign SSE helper constants to 128 bit
Michael Beck [Thu, 6 Sep 2007 18:23:50 +0000 (18:23 +0000)]
align SSE helper constants to 128 bit

[r15703]

16 years agoupdated xStore template
Michael Beck [Thu, 6 Sep 2007 15:55:16 +0000 (15:55 +0000)]
updated xStore template

[r15702]

16 years agofixed conversion of NAN's
Michael Beck [Thu, 6 Sep 2007 15:42:13 +0000 (15:42 +0000)]
fixed conversion of NAN's

[r15701]

16 years agobug in the tarval modul ...
Michael Beck [Thu, 6 Sep 2007 15:30:23 +0000 (15:30 +0000)]
bug in the tarval modul ...

[r15700]

16 years agofixed some warnings
Michael Beck [Thu, 6 Sep 2007 14:12:13 +0000 (14:12 +0000)]
fixed some warnings

[r15699]

16 years agofixed sc_get_lowest_set_bit() for fehler73.c
Michael Beck [Thu, 6 Sep 2007 14:06:28 +0000 (14:06 +0000)]
fixed sc_get_lowest_set_bit() for fehler73.c

[r15698]

16 years agoanother bug
Matthias Braun [Thu, 6 Sep 2007 13:33:52 +0000 (13:33 +0000)]
another bug

[r15697]

16 years agoforbid the Add(x,x) -> Mul(x,2) optimization after SALS convertion
Michael Beck [Thu, 6 Sep 2007 13:09:38 +0000 (13:09 +0000)]
forbid the Add(x,x) -> Mul(x,2) optimization after SALS convertion

[r15696]

16 years ago- bugfix for Conv Float>64 signed
Michael Beck [Thu, 6 Sep 2007 11:26:23 +0000 (11:26 +0000)]
- bugfix for Conv Float>64 signed
- typos fixed
- removed some Macros generating functions

[r15695]

16 years agobugfix for Conv Float>64 signed
Michael Beck [Thu, 6 Sep 2007 11:25:13 +0000 (11:25 +0000)]
bugfix for Conv Float>64 signed

[r15694]

16 years agotypo fixed
Michael Beck [Thu, 6 Sep 2007 09:56:04 +0000 (09:56 +0000)]
typo fixed

[r15693]

16 years agoset the tarval fp_ops mode depending on the current irg fp mode before doing constant...
Michael Beck [Wed, 5 Sep 2007 22:47:43 +0000 (22:47 +0000)]
set the tarval fp_ops mode depending on the current irg fp mode before doing constant folding

[r15692]

16 years agobugfix: float cmp pnc have always ia32_pn_Cmp_Unsigned set
Michael Beck [Wed, 5 Sep 2007 21:50:39 +0000 (21:50 +0000)]
bugfix: float cmp pnc have always ia32_pn_Cmp_Unsigned set

[r15690]

16 years agomore checks
Michael Beck [Wed, 5 Sep 2007 21:49:32 +0000 (21:49 +0000)]
more checks

[r15689]

16 years agoadd svn:keywords
Michael Beck [Wed, 5 Sep 2007 17:25:08 +0000 (17:25 +0000)]
add svn:keywords

[r15685]

16 years agosvn properties added
Michael Beck [Wed, 5 Sep 2007 17:24:02 +0000 (17:24 +0000)]
svn properties added

[r15684]

16 years agoadd svn:keywords
Michael Beck [Wed, 5 Sep 2007 17:20:34 +0000 (17:20 +0000)]
add svn:keywords

[r15683]

16 years agoimproved MulC implementation
Michael Beck [Wed, 5 Sep 2007 15:04:19 +0000 (15:04 +0000)]
improved MulC implementation

[r15680]

16 years agofixed Add optimization
Michael Beck [Wed, 5 Sep 2007 15:03:13 +0000 (15:03 +0000)]
fixed Add optimization

[r15679]

16 years agoreplaced the max macro
Michael Beck [Wed, 5 Sep 2007 13:49:44 +0000 (13:49 +0000)]
replaced the max macro

[r15677]

16 years agoadd generic architecture
Michael Beck [Wed, 5 Sep 2007 13:42:44 +0000 (13:42 +0000)]
add generic architecture

[r15675]

16 years agochanged parameters for new MulC
Michael Beck [Wed, 5 Sep 2007 13:42:00 +0000 (13:42 +0000)]
changed parameters for new MulC

[r15674]

16 years agoimplement the Youfeng Wu algorithm for MulC
Michael Beck [Wed, 5 Sep 2007 13:41:02 +0000 (13:41 +0000)]
implement the Youfeng Wu algorithm for MulC

[r15673]

16 years agotest the new mul with Const
Michael Beck [Wed, 5 Sep 2007 13:40:13 +0000 (13:40 +0000)]
test the new mul with Const

[r15672]

16 years agodisables a+a => 2*a
Michael Beck [Wed, 5 Sep 2007 12:26:19 +0000 (12:26 +0000)]
disables a+a => 2*a

[r15671]

16 years agotarval_divmod added
Michael Beck [Wed, 5 Sep 2007 12:24:42 +0000 (12:24 +0000)]
tarval_divmod added

[r15670]

16 years agotarval_divmod added
Michael Beck [Wed, 5 Sep 2007 12:24:16 +0000 (12:24 +0000)]
tarval_divmod added

[r15669]

16 years agofix is_Const_Minus_1 test
Matthias Braun [Tue, 4 Sep 2007 14:18:13 +0000 (14:18 +0000)]
fix is_Const_Minus_1 test

[r15668]

16 years agofix TestSet emitter
Matthias Braun [Tue, 4 Sep 2007 14:17:57 +0000 (14:17 +0000)]
fix TestSet emitter

[r15667]