Benjamin Kramer
dfdca1a14d
SimplifyCFG: GEPs with just one non-constant index are also cheap.
...
llvm-svn: 126452
2011-02-24 23:26:09 +00:00
Benjamin Kramer
27361a7124
SimplifyCFG: GEPs with constant indices are cheap enough to be executed unconditionally.
...
llvm-svn: 126445
2011-02-24 22:46:11 +00:00
Joerg Sonnenberger
afb36fad99
Restore r125595 (reverted in r126336) with modifications:
...
Introduce a variable in the AsmParserExtension whether [] is valid in an
expression. If it is true, parse them like (). Enable this for ELF only.
llvm-svn: 126443
2011-02-24 21:59:22 +00:00
Nadav Rotem
502f1b943f
Enable support for vector sext and trunc:
...
Limit the folding of any_ext and sext into the load operation to scalars.
Limit the active-bits trunc optimization to scalars.
Document vector trunc and vector sext in LangRef.
Similar to commit 126080 (for enabling zext).
llvm-svn: 126424
2011-02-24 21:01:34 +00:00
Devang Patel
1a2fdce30a
Remove obsolete tests.
...
llvm-svn: 126402
2011-02-24 19:09:52 +00:00
Devang Patel
b52040da17
Move arch specific tests in arch specific directories.
...
llvm-svn: 126401
2011-02-24 19:06:27 +00:00
Richard Osborne
42f52e737e
Add XCore intrinsic for eeu instruction.
...
llvm-svn: 126384
2011-02-24 13:39:18 +00:00
NAKAMURA Takumi
cb1b5ff9c6
test/lit.cfg: Add PATHEXT to 'substitution', to recognize tools on Windows hosts. Thanks to Danil Malyshev!
...
Some tests on Windows use the "not" utility and fail with an error "program not executable". The reason for this error is that the name of the executable file sended to the "not" without the extension.
llvm-svn: 126383
2011-02-24 12:34:34 +00:00
Cameron Zwarich
a62fc89a04
Merge information about the number of zero, one, and sign bits of live-out
...
registers at phis. This enables us to eliminate a lot of pointless zexts during
the DAGCombine phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126380
2011-02-24 10:00:25 +00:00
Chris Lattner
adf38b3e09
change instcombine to not turn a call to non-varargs bitcast of
...
function prototype into a call to a varargs prototype. We do
allow the xform if we have a definition, but otherwise we don't
want to risk that we're changing the abi in a subtle way. On
X86-64, for example, varargs require passing stuff in %al.
llvm-svn: 126363
2011-02-24 05:10:56 +00:00
Evan Cheng
3923466e82
Fix bug in X86 folding / unfolding table. Int_CMPSDrm and Int_CMPSSrm memory
...
operands starts at index 2, not 1.
rdar://9045024
PR9305
llvm-svn: 126359
2011-02-24 02:36:52 +00:00
Devang Patel
7b0f796c55
Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.
...
llvm-svn: 126339
2011-02-23 22:37:04 +00:00
Devang Patel
37e056e455
Check only relevant strings in output to increase stability of the tests.
...
llvm-svn: 126338
2011-02-23 22:35:57 +00:00
Jim Grosbach
fe4858f269
Remove file. Previous commit deleted content, but left the file around.
...
llvm-svn: 126337
2011-02-23 21:43:31 +00:00
Jim Grosbach
0c03a3a146
Revert r125595, which is an X86-only undocumented assembly syntax extension
...
enabled for all targets. Non-X86 targets should not have this behavior
enabled by default.
Joerg, if you would like to resubmit with the behavior conditionalized to be
X86-ELF only, that's fine.
llvm-svn: 126336
2011-02-23 21:26:51 +00:00
Rafael Espindola
9e18e96264
Put in the symbol table symbols only used in a .globl statement.
...
Fixes PR9292.
llvm-svn: 126330
2011-02-23 20:22:07 +00:00
Richard Osborne
bfa5cc0e08
Add XCore intrinsic for clre instruction.
...
llvm-svn: 126322
2011-02-23 18:52:05 +00:00
Richard Osborne
4995b05f56
Add llvm.xcore.waitevent intrinsic. The effect of this intrinsic is to enable
...
events on the thread and wait until a resource is ready to event. The vector
of the resource that is ready is returned.
llvm-svn: 126320
2011-02-23 18:35:59 +00:00
Richard Osborne
2c610aa3ed
Add XCore intrinsic for the setv instruction.
...
llvm-svn: 126315
2011-02-23 16:46:37 +00:00
Richard Osborne
aab96995f6
Add XCore intrinsic for settw instruction.
...
llvm-svn: 126313
2011-02-23 14:45:03 +00:00
Sean Callanan
34770edf43
Fixed a bug in the enhanced disassembler that caused
...
it to ignore valid uses of FS and GS as additional
base registers in address computations. Added a test
case for this.
llvm-svn: 126302
2011-02-23 03:31:28 +00:00
Evan Cheng
d6b641e5bc
More fcopysign correctness and performance fix.
...
The previous codegen for the slow path (when values are in VFP / NEON
registers) was incorrect if the source is NaN.
The new codegen uses NEON vbsl instruction to copy the sign bit. e.g.
vmov.i32 d1, #0x80000000
vbsl d1, d2, d0
If NEON is not available, it uses integer instructions to copy the sign bit.
rdar://9034702
llvm-svn: 126295
2011-02-23 02:24:55 +00:00
Cameron Zwarich
826308586c
Make LoopDeletion work on loops with multiple edges, as long as the incoming
...
values from all of the loop's exiting blocks are equal. Patch by Andrew Clinton.
llvm-svn: 126253
2011-02-22 22:25:39 +00:00
Joerg Sonnenberger
b7e635dcad
Use the same (%dx) hack for in[bwl] as for out[bwl].
...
llvm-svn: 126244
2011-02-22 20:40:09 +00:00
NAKAMURA Takumi
7f5aa90d62
Revert r126195, "test/CodeGen/X86/vec_cast.ll: Mark as XFAIL: migw,win32 for workaround of PR8311."
...
It seems it affected configuration --target=i686-pc-mingw32, I don't know and will investigate why.
llvm-svn: 126217
2011-02-22 08:22:54 +00:00
NAKAMURA Takumi
bced59bba7
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126216
2011-02-22 07:21:59 +00:00
NAKAMURA Takumi
384490cbe1
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126215
2011-02-22 07:21:51 +00:00
NAKAMURA Takumi
2a1ca28203
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126214
2011-02-22 07:21:42 +00:00
NAKAMURA Takumi
fae5813d40
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126213
2011-02-22 07:21:33 +00:00
NAKAMURA Takumi
4d9d6ed377
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126212
2011-02-22 07:21:25 +00:00
NAKAMURA Takumi
af669e5a4e
Relax expressions and add explicit triplets -linux and -win32.
...
On @foobar(double %d, double* %x),
AMD64: (%xmm0, %rdi)
Win64: (%xmm0, %rdx) (not %rcx!)
llvm-svn: 126211
2011-02-22 07:21:17 +00:00
NAKAMURA Takumi
a1e2ed5f1b
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126210
2011-02-22 07:21:08 +00:00
NAKAMURA Takumi
e38080bd8e
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126209
2011-02-22 07:21:01 +00:00
NAKAMURA Takumi
e463e07bd5
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126208
2011-02-22 07:20:52 +00:00
NAKAMURA Takumi
0e9c4e50ac
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126207
2011-02-22 07:20:44 +00:00
NAKAMURA Takumi
3632cf8e6b
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126206
2011-02-22 07:20:35 +00:00
NAKAMURA Takumi
09ee8a7f92
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126205
2011-02-22 07:20:26 +00:00
NAKAMURA Takumi
a403732301
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126204
2011-02-22 07:20:18 +00:00
NAKAMURA Takumi
3940b8fd65
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126203
2011-02-22 07:20:10 +00:00
NAKAMURA Takumi
eaf128bde6
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126202
2011-02-22 07:20:02 +00:00
NAKAMURA Takumi
82cd8e9ebb
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126201
2011-02-22 07:19:54 +00:00
NAKAMURA Takumi
83c40bc7ad
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126200
2011-02-22 07:19:46 +00:00
NAKAMURA Takumi
3bfc830a9a
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126199
2011-02-22 07:19:37 +00:00
NAKAMURA Takumi
46e7e345e2
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126198
2011-02-22 07:19:28 +00:00
NAKAMURA Takumi
eff7bdb792
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126197
2011-02-22 07:19:20 +00:00
NAKAMURA Takumi
6df04c2d20
Relax expressions and add explicit triplets -linux and -win32.
...
llvm-svn: 126196
2011-02-22 07:19:12 +00:00
NAKAMURA Takumi
f4e6f323cb
test/CodeGen/X86/vec_cast.ll: Mark as XFAIL: migw,win32 for workaround of PR8311.
...
llvm-svn: 126195
2011-02-22 07:19:03 +00:00
NAKAMURA Takumi
9cb20ac2e8
test/CodeGen/X86/red-zone.ll: Add explicit -mtriple=x86_64-linux.
...
Redzone is not applicable on Win64.
llvm-svn: 126194
2011-02-22 07:18:55 +00:00
Evan Cheng
2ce663031f
available_externally (hidden or not) GVs are always accessed via stubs. rdar://9027648.
...
llvm-svn: 126191
2011-02-22 06:58:34 +00:00
Andrew Trick
842921dfc8
VirtRegRewriter assertion fix.
...
Apparently it's ok for multiple operands to "kill" the same register.
Fixes PR9237.
llvm-svn: 126190
2011-02-22 06:52:56 +00:00