- Dec 25, 2008
-
-
Chris Lattner authored
llvm-svn: 61423
-
- Dec 24, 2008
-
-
Bill Wendling authored
llvm-svn: 61420
-
Bill Wendling authored
about other platforms. llvm-svn: 61415
-
Bill Wendling authored
llvm-svn: 61414
-
Dan Gohman authored
a symbolic constant. This is unlikely to be intentional, but it shouldn't crash the compiler. llvm-svn: 61408
-
Chris Lattner authored
llvm-svn: 61407
-
Dale Johannesen authored
llvm-svn: 61405
-
Chris Lattner authored
llvm-svn: 61404
-
Dale Johannesen authored
llvm-svn: 61403
-
Dale Johannesen authored
other SPEC breakage. I'll be reverting all recent changes shortly, this checking is mostly so this change doesn't get lost. llvm-svn: 61402
-
Dale Johannesen authored
llvm-svn: 61401
-
- Dec 23, 2008
-
-
Dan Gohman authored
llvm-svn: 61400
-
Anton Korobeynikov authored
llvm-svn: 61399
-
Anton Korobeynikov authored
llvm-svn: 61398
-
Anton Korobeynikov authored
llvm-svn: 61397
-
Anton Korobeynikov authored
llvm-svn: 61396
-
Anton Korobeynikov authored
llvm-svn: 61395
-
Devang Patel authored
llvm-svn: 61392
-
Devang Patel authored
Silence unused variable warning. llvm-svn: 61391
-
Devang Patel authored
llvm-svn: 61390
-
Dan Gohman authored
This removes all the _8, _16, _32, and _64 opcodes and replaces each group with an unsuffixed opcode. The MemoryVT field of the AtomicSDNode is now used to carry the size information. In tablegen, the size-specific opcodes are replaced by size-independent opcodes that utilize the ability to compose them with predicates. This shrinks the per-opcode tables and makes the code that handles atomics much more concise. llvm-svn: 61389
-
Chris Lattner authored
llvm-svn: 61385
-
Chris Lattner authored
the same size. llvm-svn: 61380
-
Steve Naroff authored
llvm-svn: 61378
-
Dan Gohman authored
code in ScheduleDAGSDNodes' BuildSchedGraph into separate functions. llvm-svn: 61376
-
Dan Gohman authored
llvm-svn: 61374
-
Dan Gohman authored
several places. isTerminator() returns true for a superset of cases, and includes things like FP_REG_KILL, which are nither return or branch but aren't safe to move/remat/etc. llvm-svn: 61373
-
Dan Gohman authored
llvm-svn: 61372
-
Dan Gohman authored
llvm-svn: 61371
-
Zhongxing Xu authored
llvm-svn: 61369
-
Zhongxing Xu authored
llvm-svn: 61368
-
Mon P Wang authored
llvm-svn: 61366
-
Mon P Wang authored
Fixed lowering of v8i16 shuffles for v8i16 when we fall back to extract/insert. llvm-svn: 61365
-
Dale Johannesen authored
my last patch to this file. The issue there was that all uses of an IV inside a loop are actually references to Base[IV*2], and there was one use outside that was the same but LSR didn't see the base or the scaling because it didn't recurse into uses outside the loop; thus, it used base+IV*scale mode inside the loop instead of pulling base out of the loop. This was extra bad because register pressure later forced both base and IV into memory. Doing that recursion, at least enough to figure out addressing modes, is a good idea in general; the change in AddUsersIfInteresting does this. However, there were side effects.... It is also possible for recursing outside the loop to introduce another IV where there was only 1 before (if the refs inside are not scaled and the ref outside is). I don't think this is a common case, but it's in the testsuite. It is right to be very aggressive about getting rid of such introduced IVs (CheckForIVReuse and the handling of nonzero RewriteFactor in StrengthReduceStridedIVUsers). In the testcase in question the new IV produced this way has both a nonconstant stride and a nonzero base, neither of which was handled before. And when inserting new code that feeds into a PHI, it's right to put such code at the original location rather than in the PHI's immediate predecessor(s) when the original location is outside the loop (a case that couldn't happen before) (RewriteInstructionToUseNewBase); better to avoid making multiple copies of it in this case. Also, the mechanism for keeping SCEV's corresponding to GEP's no longer works, as the GEP might change after its SCEV is remembered, invalidating the SCEV, and we might get a bad SCEV value when looking up the GEP again for a later loop. This also couldn't happen before, as we weren't recursing into GEP's outside the loop. I owe some testcases for this, want to get it in for nightly runs. llvm-svn: 61362
-
Dale Johannesen authored
llvm-svn: 61361
-
Owen Anderson authored
llvm-svn: 61358
-
Dan Gohman authored
llvm-svn: 61356
-
- Dec 22, 2008
-
-
Bill Wendling authored
llvm-svn: 61354
-
Bill Wendling authored
llvm-svn: 61353
-
Bill Wendling authored
llvm-svn: 61352
-