Nate Begeman
14d12caf1d
Enable SSE4 codegen and pattern matching.
...
Add some notes to the README.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46949 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 04:19:36 +00:00
Nate Begeman
a6ed0aa8ec
additional missing feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46948 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-11 04:16:09 +00:00
Gabor Greif
3f2a209c77
corrected some spellings
...
maybe c380004 can be hyperlinked too?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46934 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 20:08:16 +00:00
Chris Lattner
729eb14ae8
Various updates from Sam Bishop:
...
"I have been working my way through the JIT and Kaleidoscope tutorials in my
(minuscule) spare time. Thanks again for writing them! I have attached a
patch containing some minor changes, ranging from spelling and grammar fixes
to adding a "Next: <next tutorial section>" hyperlink to the bottom of each
page.
Every page has been given the "next link" treatment, but otherwise I'm only
half way through the Kaleidoscope tutorial. I will send a follow-on patch
if time permits."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46933 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 19:11:04 +00:00
Chris Lattner
916c954bf2
Fix scalarrepl to not 'miscompile' undefined code, part #2 .
...
This fixes the store case, my previous patch just fixed the load
case. rdar://5707076.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46932 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 19:05:37 +00:00
Nate Begeman
ab5d56c6b9
xmm0 variable blends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46931 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 18:47:57 +00:00
Dan Gohman
6f0d024a53
Rename MRegisterInfo to TargetRegisterInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46930 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 18:45:23 +00:00
Chris Lattner
6bbba6691e
close an li tag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46929 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 17:52:05 +00:00
Duncan Sands
f74c0ccc7d
Add some Ada info and correct a few buglets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46928 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 13:40:55 +00:00
Duncan Sands
d885dbdf9e
Add truncate and AssertZext result expansion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46926 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 10:08:52 +00:00
Chris Lattner
a900d17580
remove the in progress marker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46925 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 08:19:35 +00:00
Chris Lattner
8170c107fe
validation fixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46924 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 08:18:42 +00:00
Chris Lattner
f304ffcb4c
final set of major updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46923 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 08:17:19 +00:00
Bill Wendling
91b9ad1824
Return "(c1 + c2)" instead of yet another ADD node (which made this a
...
no-op).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46922 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 08:10:24 +00:00
Chris Lattner
acce85def4
more prose, some organization improvements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46921 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 07:46:44 +00:00
Chris Lattner
b4c68cd62c
random notes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46920 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 07:04:35 +00:00
Chris Lattner
be036a94c3
add anote
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46918 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 01:01:35 +00:00
Nick Lewycky
16b0bd6c83
Match GCC's behaviour for these sections.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46916 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-10 00:03:54 +00:00
Nate Begeman
fea2be50b9
memopv16i8 had wrong alignment requirement, would have broken pabsb
...
pabs{b,w,d} are not two address
fix extract-to-mem sse4 ops
add sse4 vector sign extend nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46915 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 23:46:37 +00:00
Chris Lattner
313d61fc1d
add some more notes, still not ready for review :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46914 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 22:58:07 +00:00
Chris Lattner
3fc4a1c7a4
scoped_ptr.h was removed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46913 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 22:50:06 +00:00
Gabor Greif
1acd2eed98
explain that NumElements in alloca and malloc defaults to one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46912 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 22:24:34 +00:00
Dale Johannesen
b3c4eb46d6
Alignment of struct containing vectors depends on
...
whether SSE is present, on Darwin anyway. Make it
explicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46909 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 19:04:25 +00:00
Wojciech Matyjewicz
3913187bf6
We should check that existing cast operation has the appropriate opcode before we reuse it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46908 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 18:30:13 +00:00
Wojciech Matyjewicz
402689d11a
Add a check if the initial value of the induction variable is 0 (the method comment says it should be).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46907 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 18:06:58 +00:00
Evan Cheng
63a18c491a
Remove unused hidden option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46903 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 08:36:28 +00:00
Nate Begeman
1426d52cab
Skeleton of insert and extract matching, more to come
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46902 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 01:38:08 +00:00
Nate Begeman
b5af3344c1
Tablegen support for insert & extract element matching
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46901 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 01:37:05 +00:00
Chris Lattner
9071dd3a57
check that terminators only occur at the end of a block. This catches the
...
common problem of putting two terminators in the same block. I can't write
a testcase for this because the .ll parser rejects this before the verifier
can, but this can occur when generating IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46900 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-09 01:06:01 +00:00
Dan Gohman
6394b099e8
Change ConstantSDNode to store an APInt instead of a uint64_t, and
...
begin adding some methods to use it this way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46899 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 22:59:30 +00:00
Devang Patel
82ada54da0
Fix PR 1995.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46898 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 22:49:13 +00:00
Evan Cheng
f2f8c2ae07
Forgot these files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46896 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 22:05:27 +00:00
Evan Cheng
bbd8322daa
Also print alignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46895 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 22:05:07 +00:00
Dan Gohman
ec646cfd07
Add an isSignedIntN, like isIntN but for signed integer values instead of
...
unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46894 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 21:58:15 +00:00
Evan Cheng
5fd79d0560
It's not always safe to fold movsd into xorpd, etc. Check the alignment of the load address first to make sure it's 16 byte aligned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46893 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 21:20:40 +00:00
Dale Johannesen
0c191872ab
64-bit (MMX) vectors do not need restrictive alignment.
...
128-bit vectors need it only when SSE is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46890 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 19:48:20 +00:00
Ted Kremenek
86383e1f7c
Constified operator<< in APSInt.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46882 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 07:14:19 +00:00
Dan Gohman
60783304f6
Avoid needlessly casting away const qualifiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46877 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 03:29:40 +00:00
Dan Gohman
547ca537b6
Avoid needlessly casting away const qualifiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46876 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 03:26:46 +00:00
Evan Cheng
33663fc104
Added missing entries in X86 load / store folding tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46866 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-08 00:12:56 +00:00
Devang Patel
5252ae6eca
Begin setting features for target based on target triple string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46863 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 22:32:50 +00:00
Evan Cheng
27240c7d50
Remove remnant of load folding in local register allocator. Patch by Holger Schurig.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46861 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 19:46:55 +00:00
Dan Gohman
3069b87437
Follow Chris' suggestion; change the PseudoSourceValue accessors
...
to return pointers instead of references, since this is always what
is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46857 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 18:41:25 +00:00
Dan Gohman
4fdad172de
Add SourceValue information for outgoing argument stores on x86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46854 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 16:28:05 +00:00
Dan Gohman
2bfe6ff605
Don't abort if a MemOperand is missing a SourceValue; just print it
...
as <unknown>. And make some minor adjustments to the MemOperand
dump format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46853 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 16:18:00 +00:00
Evan Cheng
be3bf42331
Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode.
...
Before:
_main:
subq $8, %rsp
leaq _X(%rip), %rax
movsd 8(%rax), %xmm1
movss _X(%rip), %xmm0
call _t
xorl %ecx, %ecx
movl %ecx, %eax
addq $8, %rsp
ret
Now:
_main:
subq $8, %rsp
movsd _X+8(%rip), %xmm1
movss _X(%rip), %xmm0
call _t
xorl %ecx, %ecx
movl %ecx, %eax
addq $8, %rsp
ret
Notice there is another idiotic codegen issue that needs to be fixed asap:
xorl %ecx, %ecx
movl %ecx, %eax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46850 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 08:53:49 +00:00
Evan Cheng
15246738f2
In some cases, e.g. ADD32ri, no transformation is made. Guide against it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46849 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 08:29:53 +00:00
Nick Lewycky
33d4f7792f
Don't make up new directives. (".set_foobar")
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46848 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 06:36:26 +00:00
Dan Gohman
b3f5cfc670
Fix a typo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46836 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-07 02:30:40 +00:00
Dan Gohman
167b8bc24d
Add support to FoldingSet for hashing APInt objects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46833 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06 23:09:15 +00:00