Chris Lattner
d76582b540
Make sure to legalize generated ctpop nodes, convert tabs to spaces
...
llvm-svn: 21868
2005-05-11 18:35:21 +00:00
Andrew Lenharth
b908893bab
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).
llvm-svn: 21867
2005-05-11 17:23:41 +00:00
Duraid Madina
8ad9786fcd
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)
llvm-svn: 21866
2005-05-11 08:45:08 +00:00
Chris Lattner
c1273fc0b9
include the other bit count intrinsics
...
llvm-svn: 21863
2005-05-11 05:31:01 +00:00
Chris Lattner
b452b5aa42
Add some notes for expanding clz/ctz
...
llvm-svn: 21862
2005-05-11 05:27:09 +00:00
Chris Lattner
4f05136f61
Simplify this code, use the proper shift amount
...
llvm-svn: 21861
2005-05-11 05:21:31 +00:00
Duraid Madina
b9062e56cf
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...
llvm-svn: 21860
2005-05-11 05:16:09 +00:00
Chris Lattner
3edc8ecb53
Legalize this correctly
...
llvm-svn: 21859
2005-05-11 05:09:47 +00:00
Chris Lattner
d5d2886ee7
No really IA*64* :)
...
llvm-svn: 21858
2005-05-11 05:03:56 +00:00
Chris Lattner
e358ac532b
X86 has more than just 32-bit registers
...
llvm-svn: 21857
2005-05-11 05:00:34 +00:00
Chris Lattner
457996c4a6
implement expansion of ctpop nodes, implementing CodeGen/Generic/llvm-ct-intrinsics.ll
...
llvm-svn: 21856
2005-05-11 04:51:16 +00:00
Chris Lattner
ce84b90a3d
Print bit count nodes correctly
...
llvm-svn: 21855
2005-05-11 04:50:30 +00:00
Chris Lattner
4e9ebbc98d
new testcase
...
llvm-svn: 21854
2005-05-11 04:22:47 +00:00
Chris Lattner
76a4a19269
update this to reflect the new selection daggy world
...
llvm-svn: 21853
2005-05-11 03:53:53 +00:00
Chris Lattner
2fc5553907
don't duplicate information, particularly when it's out of date!
...
llvm-svn: 21852
2005-05-11 03:35:57 +00:00
Chris Lattner
593c0e8957
Do not use "" as a sentinal for a missing argument! This fixes PR560.
...
llvm-svn: 21850
2005-05-10 23:20:17 +00:00
Chris Lattner
877248c8a3
new testcase for PR562
...
llvm-svn: 21849
2005-05-10 22:32:29 +00:00
Misha Brukman
c09e873482
Remove vim modeline; this should go into ~/.vimrc
...
llvm-svn: 21848
2005-05-10 22:06:41 +00:00
Misha Brukman
2407f3b84f
Remove vim modeline, this belongs in ~/.vimrc
...
llvm-svn: 21847
2005-05-10 22:06:14 +00:00
Misha Brukman
ba8e260dce
Consistently surround `cl::' code structures with <b> and <tt> to make them
...
stand out as code
llvm-svn: 21846
2005-05-10 22:05:27 +00:00
Misha Brukman
4fda633c59
Why output multiple strings, let the compiler concatenate them for us for free
...
llvm-svn: 21845
2005-05-10 22:03:50 +00:00
Misha Brukman
d264be8e32
* Convert tabs to spaces, fix code alignment
...
* Remove trailing whitespace
* Wrap long lines
llvm-svn: 21844
2005-05-10 22:02:28 +00:00
Duraid Madina
4dd8babde7
note HP-UX support
...
llvm-svn: 21841
2005-05-10 06:57:53 +00:00
Chris Lattner
8230bddde2
Convert feature of the simple isel over for the pattern isel to use.
...
llvm-svn: 21840
2005-05-10 03:53:18 +00:00
Chris Lattner
758f2fe1a3
Fix Reassociate/shifttest.ll
...
llvm-svn: 21839
2005-05-10 03:39:25 +00:00
Jeff Cohen
afc58006b7
Silence some VC++ warnings
...
llvm-svn: 21838
2005-05-10 02:22:38 +00:00
Chris Lattner
c1064620ef
new testcase
...
llvm-svn: 21837
2005-05-10 00:33:36 +00:00
Chris Lattner
f221558c21
If a function contains no allocas, all of the calls in it are trivially
...
suitable for tail calls.
llvm-svn: 21836
2005-05-09 23:51:13 +00:00
Chris Lattner
5edb4c4af6
The semantics of cast X to bool are a comparison against zero, not a truncation!
...
llvm-svn: 21833
2005-05-09 22:17:13 +00:00
Chris Lattner
1693833459
testcase I've had in my tree
...
llvm-svn: 21832
2005-05-09 21:21:10 +00:00
Chris Lattner
d96aea21d7
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).
llvm-svn: 21831
2005-05-09 21:17:38 +00:00
Chris Lattner
6a55b1d4dd
do not emit illegal instructions
...
llvm-svn: 21830
2005-05-09 21:06:04 +00:00
Chris Lattner
7ba0699b05
Fix the syntax of the i/o instructions, these are obviously unused.
...
llvm-svn: 21829
2005-05-09 20:49:20 +00:00
Chris Lattner
46b51ab388
legalize readio/writeio into load/stores, fixing CodeGen/X86/io.llx with
...
the pattern isel.
llvm-svn: 21828
2005-05-09 20:37:29 +00:00
Chris Lattner
95c836384b
legalize readio/writeio into a load/store if requested
...
llvm-svn: 21827
2005-05-09 20:36:57 +00:00
Chris Lattner
7cc8edfc30
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 :(
llvm-svn: 21826
2005-05-09 20:23:03 +00:00
Chris Lattner
af6bde0db6
Add support for matching the READPORT, WRITEPORT, READIO, WRITEIO intrinsics
...
llvm-svn: 21825
2005-05-09 20:22:36 +00:00
Chris Lattner
eee649df34
Add support for READPORT, WRITEPORT, READIO, WRITEIO
...
llvm-svn: 21824
2005-05-09 20:22:17 +00:00
Chris Lattner
9aedca57b1
Add READPORT, WRITEPORT, READIO, WRITEIO nodes, wrap long lines
...
llvm-svn: 21823
2005-05-09 20:21:27 +00:00
John Criswell
5bac82113e
Tell tblgen exactly where to find the include file.
...
llvm-svn: 21822
2005-05-09 19:32:08 +00:00
Chris Lattner
b28f865865
restore some non-dead code I removed last night breaking double casts to
...
uint
llvm-svn: 21821
2005-05-09 18:37:02 +00:00
Chris Lattner
333ae3d837
fold and (shl X, C1), C2 -> rlwinm when possible. Many other cases are possible,
...
include and (srl) and the inverses (shl and) etc.
llvm-svn: 21820
2005-05-09 17:39:48 +00:00
Chris Lattner
c9077e4177
new testcase
...
llvm-svn: 21819
2005-05-09 17:09:31 +00:00
Chris Lattner
c3fa88e7c8
Fold shifts into subsequent SHL's. These shifts often arise due to addrses
...
arithmetic lowering.
llvm-svn: 21818
2005-05-09 17:06:45 +00:00
John Criswell
9d27332a3d
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).
llvm-svn: 21817
2005-05-09 16:49:59 +00:00
John Criswell
b92ca21888
Little corrections.
...
llvm-svn: 21816
2005-05-09 16:39:27 +00:00
Chris Lattner
7dffe1ee7c
Fix bug noticed by Tzu-Chien Chiu, thanks!
...
llvm-svn: 21815
2005-05-09 15:41:03 +00:00
Duraid Madina
64a52fc615
fix and cleanup constmul code a bit, this fixes mediabench/toast and
...
probably a couple of other tests.
llvm-svn: 21814
2005-05-09 13:18:34 +00:00
Chris Lattner
e91ac6383d
tweak test to accept the (good) code emitted by the pattern isel
...
llvm-svn: 21812
2005-05-09 05:54:27 +00:00
Chris Lattner
3094cec3c9
Wrap long lines, remove dead code that is now handled by legalize
...
llvm-svn: 21811
2005-05-09 05:40:26 +00:00