Chris Lattner [Wed, 11 May 2005 19:02:11 +0000 (19:02 +0000)]
Fix the last remaining bug preventing us from switching the X86 BE over
from the simple isel to the pattern isel. This forces inserted libcalls
to serialize against other function calls, which was breaking
UnitTests/2005-05-12-Int64ToFP. Hopefully this will fix issues on other
targets as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:57:39 +0000 (18:57 +0000)]
Do not memoize ADJCALLSTACKDOWN nodes, provide a method to hack on them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:57:06 +0000 (18:57 +0000)]
wrap long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:56:45 +0000 (18:56 +0000)]
new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:35:21 +0000 (18:35 +0000)]
Make sure to legalize generated ctpop nodes, convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21868
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 11 May 2005 17:23:41 +0000 (17:23 +0000)]
Legalize for CTLZ generates a ctpop, but this ctpop is not expanded.
This is bad. It is generated if you are ctlz a type that is not
legal for the arch (aka ctlz of bytes on alpha legalize fine).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21867
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 11 May 2005 08:45:08 +0000 (08:45 +0000)]
expand count-leading/trailing-zeros; the test 2005-05-11-Popcount-ffs-fls.c
should now pass (the "LLVM" and "REF" results should be identical)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:31:01 +0000 (05:31 +0000)]
include the other bit count intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:27:09 +0000 (05:27 +0000)]
Add some notes for expanding clz/ctz
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21862
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:21:31 +0000 (05:21 +0000)]
Simplify this code, use the proper shift amount
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21861
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 11 May 2005 05:16:09 +0000 (05:16 +0000)]
add the popcount instruction and support this in the isel
the primary user of this will probably end up being find-first-set-bit/find-
last-set-bit, which i'll get around to...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:09:47 +0000 (05:09 +0000)]
Legalize this correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:03:56 +0000 (05:03 +0000)]
No really IA*64* :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:00:34 +0000 (05:00 +0000)]
X86 has more than just 32-bit registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 04:51:16 +0000 (04:51 +0000)]
implement expansion of ctpop nodes, implementing CodeGen/Generic/llvm-ct-intrinsics.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 04:50:30 +0000 (04:50 +0000)]
Print bit count nodes correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21855
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 04:22:47 +0000 (04:22 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 03:53:53 +0000 (03:53 +0000)]
update this to reflect the new selection daggy world
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 03:35:57 +0000 (03:35 +0000)]
don't duplicate information, particularly when it's out of date!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21852
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 May 2005 23:20:17 +0000 (23:20 +0000)]
Do not use "" as a sentinal for a missing argument! This fixes PR560.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 May 2005 22:32:29 +0000 (22:32 +0000)]
new testcase for PR562
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21849
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 May 2005 22:06:41 +0000 (22:06 +0000)]
Remove vim modeline; this should go into ~/.vimrc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21848
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 May 2005 22:06:14 +0000 (22:06 +0000)]
Remove vim modeline, this belongs in ~/.vimrc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21847
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 May 2005 22:05:27 +0000 (22:05 +0000)]
Consistently surround `cl::' code structures with <b> and <tt> to make them
stand out as code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21846
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 May 2005 22:03:50 +0000 (22:03 +0000)]
Why output multiple strings, let the compiler concatenate them for us for free
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21845
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 10 May 2005 22:02:28 +0000 (22:02 +0000)]
* Convert tabs to spaces, fix code alignment
* Remove trailing whitespace
* Wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21844
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Tue, 10 May 2005 06:57:53 +0000 (06:57 +0000)]
note HP-UX support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 May 2005 03:53:18 +0000 (03:53 +0000)]
Convert feature of the simple isel over for the pattern isel to use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 May 2005 03:39:25 +0000 (03:39 +0000)]
Fix Reassociate/shifttest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21839
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 10 May 2005 02:22:38 +0000 (02:22 +0000)]
Silence some VC++ warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21838
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 10 May 2005 00:33:36 +0000 (00:33 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21837
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 23:51:13 +0000 (23:51 +0000)]
If a function contains no allocas, all of the calls in it are trivially
suitable for tail calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21836
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 22:17:13 +0000 (22:17 +0000)]
The semantics of cast X to bool are a comparison against zero, not a truncation!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 21:21:10 +0000 (21:21 +0000)]
testcase I've had in my tree
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21832
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 21:17:38 +0000 (21:17 +0000)]
Implement READPORT/WRITEPORT, implementing the last X86 regression tests
that were failing with the pattern selector. Note that the support that
existed in the simple selector was clearly broken in several ways though
(which has also been fixed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 21:06:04 +0000 (21:06 +0000)]
do not emit illegal instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21830
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:49:20 +0000 (20:49 +0000)]
Fix the syntax of the i/o instructions, these are obviously unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21829
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:37:29 +0000 (20:37 +0000)]
legalize readio/writeio into load/stores, fixing CodeGen/X86/io.llx with
the pattern isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:36:57 +0000 (20:36 +0000)]
legalize readio/writeio into a load/store if requested
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:23:03 +0000 (20:23 +0000)]
legalize READPORT, WRITEPORT, READIO, WRITEIO, at least in the basic cases
where they are directly supported by the architecture. Wrap a bunch of
long lines :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:22:36 +0000 (20:22 +0000)]
Add support for matching the READPORT, WRITEPORT, READIO, WRITEIO intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21825
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:22:17 +0000 (20:22 +0000)]
Add support for READPORT, WRITEPORT, READIO, WRITEIO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21824
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 20:21:27 +0000 (20:21 +0000)]
Add READPORT, WRITEPORT, READIO, WRITEIO nodes, wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21823
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 9 May 2005 19:32:08 +0000 (19:32 +0000)]
Tell tblgen exactly where to find the include file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21822
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 18:37:02 +0000 (18:37 +0000)]
restore some non-dead code I removed last night breaking double casts to
uint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 17:39:48 +0000 (17:39 +0000)]
fold and (shl X, C1), C2 -> rlwinm when possible. Many other cases are possible,
include and (srl) and the inverses (shl and) etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21820
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 17:09:31 +0000 (17:09 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 17:06:45 +0000 (17:06 +0000)]
Fold shifts into subsequent SHL's. These shifts often arise due to addrses
arithmetic lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21818
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 9 May 2005 16:49:59 +0000 (16:49 +0000)]
Updated the list of code generators for LLVM 1.5.
Added information on getting LLVM 1.5 from CVS (hopefully readers will
understand that the label will work *after* LLVM 1.5 is released).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21817
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 9 May 2005 16:39:27 +0000 (16:39 +0000)]
Little corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21816
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 15:41:03 +0000 (15:41 +0000)]
Fix bug noticed by Tzu-Chien Chiu, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21815
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Mon, 9 May 2005 13:18:34 +0000 (13:18 +0000)]
fix and cleanup constmul code a bit, this fixes mediabench/toast and
probably a couple of other tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 05:54:27 +0000 (05:54 +0000)]
tweak test to accept the (good) code emitted by the pattern isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 05:40:26 +0000 (05:40 +0000)]
Wrap long lines, remove dead code that is now handled by legalize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21811
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 05:33:18 +0000 (05:33 +0000)]
Fix FP -> bool casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:58:36 +0000 (04:58 +0000)]
implement and.ll:test33
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21809
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:54:18 +0000 (04:54 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21808
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 9 May 2005 04:47:32 +0000 (04:47 +0000)]
Add note to self to complete the testing of all intrinsic functions as
specified in the LangRef document.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:28:51 +0000 (04:28 +0000)]
Don't use the load/store instruction as the source pointer, use the pointer
being stored/loaded through!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:14:13 +0000 (04:14 +0000)]
memoize all nodes, even null Value* nodes. Do not add two token chain outputs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:08:33 +0000 (04:08 +0000)]
wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 04:08:27 +0000 (04:08 +0000)]
Print SrcValue nodes correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 03:36:39 +0000 (03:36 +0000)]
Fix X86/2005-05-08-FPStackifierPHI.ll: ugly gross hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 03:36:11 +0000 (03:36 +0000)]
New testcase that crashes the pattern isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 01:09:39 +0000 (01:09 +0000)]
Preserve CC's when linking modules
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21799
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 01:05:50 +0000 (01:05 +0000)]
Preserve calling conventions when doing IPO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21798
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 9 May 2005 01:04:34 +0000 (01:04 +0000)]
wrap long lines, preserve calling conventions when cloning functions and
turning calls into invokes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21797
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 23:58:12 +0000 (23:58 +0000)]
By definition, 'tail' calls cannot access the stack frame of their caller.
Expose this as a simple form of mod/ref information. This implements
BasicAA/tailcall-modref.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21796
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 23:57:34 +0000 (23:57 +0000)]
New testacse for information exposed by the 'tail' call marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21795
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 22:27:09 +0000 (22:27 +0000)]
Verify that varargs functions all have ccc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21792
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 22:18:06 +0000 (22:18 +0000)]
Convert non-address taken functions with C calling conventions to fastcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21791
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:54:56 +0000 (21:54 +0000)]
If loopextract breaks the program provide output so that we can repro the
problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:47:42 +0000 (21:47 +0000)]
add a testcase for a case we do not handle yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21789
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:41:35 +0000 (21:41 +0000)]
Implement Reassociate/mul-neg-add.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:41:18 +0000 (21:41 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:33:47 +0000 (21:33 +0000)]
Bail out earlier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21786
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:28:52 +0000 (21:28 +0000)]
Teach reassociate that 0-X === X*-1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21785
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 21:28:33 +0000 (21:28 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21784
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 20:57:04 +0000 (20:57 +0000)]
Fix PR557 and basictest[34].ll.
This makes reassociate realize that loads should be treated as unmovable, and
gives distinct ranks to distinct values defined in the same basic block, allowing
reassociate to do its thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 20:56:02 +0000 (20:56 +0000)]
new testcases for PR557
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21782
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 20:09:57 +0000 (20:09 +0000)]
Add debugging information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21781
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 19:48:43 +0000 (19:48 +0000)]
eliminate gotos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21780
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 19:46:29 +0000 (19:46 +0000)]
Wrap long lines. Fix "warning: conflicting types for built-in function 'memset'"
warning from the CBE+GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21779
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 18:59:37 +0000 (18:59 +0000)]
Improve reassociation handling of inverses, implementing inverses.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21778
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 18:54:40 +0000 (18:54 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 18:45:26 +0000 (18:45 +0000)]
clean up and modernize this pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21776
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 17:34:56 +0000 (17:34 +0000)]
Strength reduce SAR into SHR if there is no way sign bits could be shifted
in. This tends to get cases like this:
X = cast ubyte to int
Y = shr int X, ...
Tested by: shift.ll:test24
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21775
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 17:31:24 +0000 (17:31 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21774
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 8 May 2005 01:07:48 +0000 (01:07 +0000)]
Update my info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21773
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 00:19:31 +0000 (00:19 +0000)]
Refactor some code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 May 2005 00:08:33 +0000 (00:08 +0000)]
Handle some simple cases where we can see that values get annihilated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 23:49:08 +0000 (23:49 +0000)]
Fix a miscompilation of crafty by clobbering the "A" variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21770
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 22:45:35 +0000 (22:45 +0000)]
Move licm after reassociate, add some cond-propagate passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 21:59:39 +0000 (21:59 +0000)]
Rewrite the guts of the reassociate pass to be more efficient and logical. Instead
of trying to do local reassociation tweaks at each level, only process an expression
tree once (at its root). This does not improve the reassociation pass in any real way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21768
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 May 2005 20:21:04 +0000 (20:21 +0000)]
* Break tests into individual cases so its easier to see what's going on.
* Add four new cases to handle the new optimizations for strlen, dealing
with:
strlen(x) != 0 -> *x != 0
strlen(x) == 0 -> *x == 0
for each of two cases: strlen(x) != 0 and strlen(x) == 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21767
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 May 2005 20:15:59 +0000 (20:15 +0000)]
* Add two strlen optimizations:
strlen(x) != 0 -> *x != 0
strlen(x) == 0 -> *x == 0
* Change nested statistics to use style of other LLVM statistics so that
only the name of the optimization (simplify-libcalls) is used as the
statistic name, and the description indicates which specific all is
optimized. Cuts down on some redundancy and saves a few bytes of space.
* Make note of stpcpy optimization that could be done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21766
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 May 2005 04:59:45 +0000 (04:59 +0000)]
Don't increment the counter unless the debug flag is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21762
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 04:24:13 +0000 (04:24 +0000)]
Convert shifts to muls to assist reassociation. This implements
Reassociate/shifttest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21761
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 04:23:29 +0000 (04:23 +0000)]
test that reassociate can handle shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21760
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 May 2005 04:08:02 +0000 (04:08 +0000)]
Simplify the code and rearrange it. No major functionality changes here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21759
91177308-0d34-0410-b5e6-
96231b3b80d8