Evan Cheng
|
6104a1aa9e
|
Add X86-64 load / store codegen tests.
llvm-svn: 32047
|
2006-11-30 22:07:00 +00:00 |
Evan Cheng
|
ae1cd75af7
|
- Use a different wrapper node for RIP-relative GV, etc.
- Proper support for both small static and PIC modes under X86-64
- Some (non-optimal) support for medium modes.
llvm-svn: 32046
|
2006-11-30 21:55:46 +00:00 |
Jim Laskey
|
f52337299a
|
better check for version
llvm-svn: 32045
|
2006-11-30 18:29:23 +00:00 |
Chris Lattner
|
c8978c5272
|
make it clear that this is always a zext
llvm-svn: 32044
|
2006-11-30 17:35:08 +00:00 |
Chris Lattner
|
3ede00b376
|
One more bugfix, 3 cases of making casts explicit.
llvm-svn: 32043
|
2006-11-30 17:32:29 +00:00 |
Chris Lattner
|
0390b9e6bb
|
Fix a bug in globalopt due to the recent cast patch.
llvm-svn: 32042
|
2006-11-30 17:26:08 +00:00 |
Reid Spencer
|
3867383db0
|
Allow llvm-upgrade to read from stdin. Configure the lexer for reading
from C++ std::istream.
llvm-svn: 32041
|
2006-11-30 16:50:26 +00:00 |
Jim Laskey
|
b12ab5fadb
|
Add compile unit size test
llvm-svn: 32040
|
2006-11-30 15:36:44 +00:00 |
Jim Laskey
|
e6f6890438
|
Correct comment
llvm-svn: 32039
|
2006-11-30 15:31:49 +00:00 |
Jim Laskey
|
030b840234
|
Pubnames test
llvm-svn: 32038
|
2006-11-30 15:25:59 +00:00 |
Jim Laskey
|
4d98e2e79d
|
Update docs
llvm-svn: 32037
|
2006-11-30 14:36:22 +00:00 |
Jim Laskey
|
b5b14060a8
|
Change global descriptor names to provide name, full name and linkage name.
llvm-svn: 32036
|
2006-11-30 14:35:45 +00:00 |
Jim Laskey
|
aa2843ad4a
|
Temp fix to deal gdb issue.
llvm-svn: 32035
|
2006-11-30 11:09:42 +00:00 |
Evan Cheng
|
aafeaef8c8
|
MachineInstr::setOpcode -> MachineInstr::setInstrDescriptor
llvm-svn: 32034
|
2006-11-30 07:12:03 +00:00 |
Evan Cheng
|
fef6400f01
|
Remove the ugly SPARCV9 TargetInstrDescriptors hack.
llvm-svn: 32033
|
2006-11-30 07:10:43 +00:00 |
Evan Cheng
|
3c3ce98530
|
- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.
- Remove the ugly TargetInstrDescriptors hack.
llvm-svn: 32032
|
2006-11-30 07:08:44 +00:00 |
Reid Spencer
|
120b380bb5
|
Ignore generated files.
llvm-svn: 32031
|
2006-11-30 06:37:43 +00:00 |
Reid Spencer
|
8e60eec519
|
Initial, non-functional, version of llvm-upgrade. This version just echos
its input. Committed for safekeeping purposes. Don't use this yet.
llvm-svn: 32030
|
2006-11-30 06:36:44 +00:00 |
Evan Cheng
|
983ac81fb0
|
New LSR test case.
llvm-svn: 32029
|
2006-11-29 23:48:37 +00:00 |
Evan Cheng
|
7a9238c84d
|
In PIC mode, GV not requiring an extra load can be used as address immediate.
llvm-svn: 32028
|
2006-11-29 23:48:14 +00:00 |
Evan Cheng
|
8c84c7cd0d
|
Clean up.
llvm-svn: 32027
|
2006-11-29 23:46:27 +00:00 |
Evan Cheng
|
0b1692216d
|
Fix for PR1018 - Better support for X86-64 Linux in small code model.
llvm-svn: 32026
|
2006-11-29 23:19:46 +00:00 |
Reid Spencer
|
70c3dd4eff
|
Get the delegation right for InstVisitor.
llvm-svn: 32025
|
2006-11-29 21:37:00 +00:00 |
Chris Lattner
|
2f648fc55d
|
Fix bug codegen'ing FP constant vectors with integer splats. Make sure the
created intrinsics have the right integer types. This fixes
PowerPC/2006-11-29-AltivecFPSplat.ll
llvm-svn: 32024
|
2006-11-29 19:58:49 +00:00 |
Chris Lattner
|
c386b40714
|
new testcase
llvm-svn: 32023
|
2006-11-29 19:57:55 +00:00 |
Evan Cheng
|
a743fada65
|
Avoid inifinite looping if READCYCLECOUNTER isn't custom lowered.
llvm-svn: 32022
|
2006-11-29 19:13:47 +00:00 |
Jim Laskey
|
01b74b6f7b
|
Eliminate unnecessary scopes.
llvm-svn: 32020
|
2006-11-29 16:55:57 +00:00 |
Jim Laskey
|
152671f0bf
|
Offset for load of 32-bit arg in 64-bit world was incorrect.
llvm-svn: 32019
|
2006-11-29 13:37:09 +00:00 |
Evan Cheng
|
e2e0a33e6c
|
Add x86-64 llvm.readcyclecounter test.
llvm-svn: 32018
|
2006-11-29 08:29:59 +00:00 |
Evan Cheng
|
28a9e9b230
|
Custom lower READCYCLECOUNTER for x86-64.
llvm-svn: 32017
|
2006-11-29 08:28:13 +00:00 |
Evan Cheng
|
6973993e9c
|
Allow target to custom lower READCYCLECOUNTER (when it doesn't have to be expanded).
llvm-svn: 32016
|
2006-11-29 08:26:18 +00:00 |
Evan Cheng
|
c24ce795a3
|
Fix test.
llvm-svn: 32015
|
2006-11-29 08:22:59 +00:00 |
Bill Wendling
|
7ec1a5befa
|
Oops! didn't mean to put this in there yet.
llvm-svn: 32014
|
2006-11-29 07:31:23 +00:00 |
Chris Lattner
|
0d67dde00a
|
done
llvm-svn: 32013
|
2006-11-29 07:21:46 +00:00 |
Chris Lattner
|
aeddf5f077
|
new bswap idiom
llvm-svn: 32012
|
2006-11-29 07:21:08 +00:00 |
Chris Lattner
|
960acb008b
|
implement cast.ll:test35. With this, we recognize:
unsigned short swp(unsigned short a) {
return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8);
}
as an idiom for bswap.
llvm-svn: 32011
|
2006-11-29 07:18:39 +00:00 |
Chris Lattner
|
19d72c9f4f
|
new testcase
llvm-svn: 32010
|
2006-11-29 07:17:32 +00:00 |
Chris Lattner
|
d747f015ff
|
Teach instcombine to turn trunc(srl x, c) -> srl (trunc(x), c) when safe.
This implements InstCombine/cast.ll:test34. It fires hundreds of times on
176.gcc.
llvm-svn: 32009
|
2006-11-29 07:04:07 +00:00 |
Chris Lattner
|
544dfa013c
|
new testcase
llvm-svn: 32008
|
2006-11-29 07:03:00 +00:00 |
Chris Lattner
|
7b34c1391a
|
This fails on mainline.
llvm-svn: 32007
|
2006-11-29 05:19:32 +00:00 |
Chris Lattner
|
a7942b7bbd
|
Implement Regression/Transforms/InstCombine/bswap-fold.ll,
folding seteq (bswap(x)), c -> seteq(x,bswap(c))
llvm-svn: 32006
|
2006-11-29 05:02:16 +00:00 |
Chris Lattner
|
e7f83dcf4b
|
new testcase, bswaps should be eliminated.
llvm-svn: 32005
|
2006-11-29 05:00:14 +00:00 |
Evan Cheng
|
8facb43593
|
16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman.
llvm-svn: 32004
|
2006-11-29 02:00:40 +00:00 |
Evan Cheng
|
feba507a97
|
Fix for PR1023 by Dan Gohman.
llvm-svn: 32003
|
2006-11-29 01:58:12 +00:00 |
Evan Cheng
|
79ca238966
|
Add test cases for PR1022, 1023.
llvm-svn: 32002
|
2006-11-29 01:57:06 +00:00 |
Chris Lattner
|
38084725a2
|
Upgrade the ugly darwin 64-bit bswap idiom (bswap %eax / bswap %edx /
xchgl %eax, %edx) to llvm.bswap.i64. This compiles:
long long test2(long long A) {
return _OSSwapInt64(A);
}
to:
_test2:
movl 8(%esp), %eax
movl 4(%esp), %edx
bswapl %eax
bswapl %edx
ret
instead of:
_test2:
movl 8(%esp), %edx
movl 4(%esp), %eax
bswap %eax
bswap %edx
xchgl %eax, %edx
ret
GCC manages (with -fomit-frame-pointer) the uglier:
_test2:
subl $4, %esp
movl 8(%esp), %eax
movl 12(%esp), %edx
bswap %eax
bswap %edx
xchgl %eax, %edx
addl $4, %esp
ret
llvm-svn: 32001
|
2006-11-29 01:48:01 +00:00 |
Evan Cheng
|
6e12a052ff
|
Fix for PR1022 (folding loads of static initializers) by Dan Gohman.
llvm-svn: 32000
|
2006-11-29 01:38:07 +00:00 |
Chris Lattner
|
0fc6ae0c3d
|
Trivially lower 'bswap $0' into llvm.bswap. This fixes hexxagon with the
JIT on darwin/x86, which has htonl implemented as inline asm.
llvm-svn: 31999
|
2006-11-29 01:14:06 +00:00 |
Bill Wendling
|
18739dc03f
|
WTF? These weird newlines got in there...
llvm-svn: 31998
|
2006-11-29 01:14:00 +00:00 |
Chris Lattner
|
90f4238c38
|
add a hook to allow targets to hack on inline asms to lower them to llvm
when they want to.
llvm-svn: 31997
|
2006-11-29 01:12:32 +00:00 |