Chris Lattner [Thu, 12 May 2005 06:01:28 +0000 (06:01 +0000)]
Fix a really horrible problem that causes the JIT to miscompile any program
that use 64-bit integers on 32-bit hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 04:49:08 +0000 (04:49 +0000)]
Fix a problem where early legalization can cause token chain problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 02:06:00 +0000 (02:06 +0000)]
These targets don't like setcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 02:02:21 +0000 (02:02 +0000)]
Add a little hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 00:17:04 +0000 (00:17 +0000)]
Make legalize a bit more efficient, and canonicalize sub X, C -> add X, -C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21882
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 11 May 2005 23:45:54 +0000 (23:45 +0000)]
Add testcase for legalizing ISD::CTTZ efficiently. On PPC, ctlz(int) is
now codegen'd as this:
addi r2, r3, -1
andc r2, r2, r3
cntlzw r2, r2
subfic r3, r2, 32
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21881
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 11 May 2005 23:43:56 +0000 (23:43 +0000)]
Necessary changes to codegen cttz efficiently on PowerPC
1. Teach LegalizeDAG how to better legalize CTTZ if the target doesn't have
CTPOP, but does have CTLZ
2. Teach PPC32 how to do sub x, const -> add x, -const for valid consts
3. Teach PPC32 how to do and (xor a, -1) b -> andc b, a
4. Teach PPC32 that ISD::CTLZ -> PPC::CNTLZW
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21880
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 11 May 2005 21:47:35 +0000 (21:47 +0000)]
Regression test for PR#563.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21879
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 11 May 2005 21:45:03 +0000 (21:45 +0000)]
Fixed issue that broke ssa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 21:40:40 +0000 (21:40 +0000)]
fix some GCC 4 warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21877
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 11 May 2005 21:16:42 +0000 (21:16 +0000)]
Added support for decomposing constant expressions containing shr and shl
instructions.
Review of this commit would be greatly appreciated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 20:24:12 +0000 (20:24 +0000)]
Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passes
with the CBE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 20:02:14 +0000 (20:02 +0000)]
Fix lowering of cttz to work with signed values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 19:42:05 +0000 (19:42 +0000)]
fix and concisify intinsic lowering for ctpop. Unfortunately, this code
looks completely untested. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21873
91177308-0d34-0410-b5e6-
96231b3b80d8
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