| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
back to 3.0
llvm-svn: 145164
|
|
|
|
|
|
|
| |
fix up later. For this special case, allow such a mask to be considered valid.
<rdar://problem/8622574>
llvm-svn: 142992
|
|
|
|
|
|
|
|
| |
LLVM 2.9. My understanding is that we plan to maintain compatibility with 2.9
until the 3.1 release. At that time we can generate new test cases using LLVM
3.0.
llvm-svn: 142958
|
|
|
|
| |
llvm-svn: 142948
|
|
|
|
|
|
| |
bitcode reader/writer backward compatibility.
llvm-svn: 142896
|
|
|
|
|
|
|
| |
top level type without a specified number. This syntax isn't documented
and blocks forward progress.
llvm-svn: 133371
|
|
|
|
|
|
|
|
|
| |
for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the
target indep prefetch change.
As usual, updating the testsuite is a PITA.
llvm-svn: 133337
|
|
|
|
|
|
| |
and other backward compatibility hacks.
llvm-svn: 133273
|
|
|
|
| |
llvm-svn: 132241
|
|
|
|
| |
llvm-svn: 132237
|
|
|
|
| |
llvm-svn: 132214
|
|
|
|
|
|
|
|
| |
fixes aliasing issues with the old and new names as well as adds test
cases for the auto-upgrader.
Fixes rdar 9472944.
llvm-svn: 132207
|
|
|
|
|
|
|
| |
assert in the bitcode writer. No change needed because the ValueEnumerator holds
a whole-module numbering anyhow. Fixes PR9857!
llvm-svn: 131016
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
was lowering them to sext / uxt + mul instructions. Unfortunately the
optimization passes may hoist the extensions out of the loop and separate them.
When that happens, the long multiplication instructions can be broken into
several scalar instructions, causing significant performance issue.
Note the vmla and vmls intrinsics are not added back. Frontend will codegen them
as intrinsics vmull* + add / sub. Also note the isel optimizations for catching
mul + sext / zext are not changed either.
First part of rdar://8832507, rdar://9203134
llvm-svn: 128502
|
|
|
|
| |
llvm-svn: 117552
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The x86_mmx type is used for MMX intrinsics, parameters and
return values where these use MMX registers, and is also
supported in load, store, and bitcast.
Only the above operations generate MMX instructions, and optimizations
do not operate on or produce MMX intrinsics.
MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
smaller pieces. Optimizations may occur on these forms and the
result casted back to x86_mmx, provided the result feeds into a
previous existing x86_mmx operation.
The point of all this is prevent optimizations from introducing
MMX operations, which is unsafe due to the EMMS problem.
llvm-svn: 115243
|
|
|
|
|
|
| |
"llvm.eh.catch.all.value". Only the name needs to be changed.
llvm-svn: 113600
|
|
|
|
|
|
|
|
| |
vabd intrinsic and add and/or zext operations. In the case of vaba, this
also avoids the need for a DAG combine pattern to combine vabd with add.
Update tests. Auto-upgrade the old intrinsics.
llvm-svn: 112941
|
|
|
|
|
|
|
| |
add, and subtract operations with zero-extended or sign-extended vectors.
Update tests. Add auto-upgrade support for the old intrinsics.
llvm-svn: 112773
|
|
|
|
|
|
| |
Auto-upgrade the old intrinsic and update tests.
llvm-svn: 112507
|
|
|
|
|
|
|
| |
IR add/sub operations with one or both operands sign- or zero-extended.
Auto-upgrade the old intrinsics.
llvm-svn: 112416
|
|
|
|
|
|
|
| |
Update all the tests using those intrinsics and add support for
auto-upgrading bitcode files with the old versions of the intrinsics.
llvm-svn: 112271
|
|
|
|
|
|
| |
zero-extend operations.
llvm-svn: 111614
|
|
|
|
|
|
| |
now that the testsuite has been updated.
llvm-svn: 101866
|
|
|
|
|
|
|
|
| |
shifts and null vectors. Autoupgrade these to what we'd lower them to.
Add a testcase to exercise this.
llvm-svn: 101851
|
|
|
|
|
|
| |
because DJG told me to!
llvm-svn: 101675
|
|
|
|
|
|
| |
up with the definition (and fix a broken testcase). PR6491.
llvm-svn: 101670
|
|
|
|
| |
llvm-svn: 100705
|
|
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100304
|
|
|
|
| |
llvm-svn: 100199
|
|
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100191
|
|
|
|
|
|
|
| |
Rewrite the pmulld patterns, and make sure that they fold in loads of
arguments into the instruction.
llvm-svn: 99910
|
|
|
|
|
|
| |
of a forward-reference, which doesn't use an "abbrev" encoding.
llvm-svn: 94454
|
|
|
|
|
|
|
|
| |
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.
llvm-svn: 81537
|
|
|
|
|
|
| |
of using llvm-as, now that opt supports this.
llvm-svn: 81226
|
|
|
|
| |
llvm-svn: 79992
|
|
|
|
|
|
| |
This fixes PR4666.
llvm-svn: 78056
|
|
|
|
| |
llvm-svn: 78053
|
|
|
|
|
|
| |
interleaved (using appropriate BLOCK_IDs) otherwise ValuePtrs index gets out of sync.
llvm-svn: 78033
|
|
|
|
|
|
| |
since functions may contain aggregate constants too.
llvm-svn: 73220
|
|
|
|
|
|
| |
the index of the value being extracted is always an i32. This fixes PR3465
llvm-svn: 63597
|
|
|
|
| |
llvm-svn: 51533
|
|
|
|
|
|
| |
x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles.
llvm-svn: 51531
|
|
|
|
| |
llvm-svn: 51523
|
|
|
|
|
|
| |
speeds things up a bit.
llvm-svn: 51357
|
|
|
|
| |
llvm-svn: 51349
|
|
|
|
|
|
| |
renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
llvm-svn: 51328
|
|
|
|
| |
llvm-svn: 47232
|
|
|
|
| |
llvm-svn: 47230
|
|
|
|
|
|
| |
it's auto-upgraded to a shufflevector instruction.
llvm-svn: 45131
|