diff options
author | Dan Gohman <gohman@apple.com> | 2008-12-16 03:25:46 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-12-16 03:25:46 +0000 |
commit | 3f23744df4809eba94284e601e81489212c974d4 (patch) | |
tree | bf2d1d7711a774bac89352554c163f167abf36bb /test/CodeGen/X86/fold-pcmpeqd-0.ll | |
parent | 64722e5163785da17ab581364c9655071b566180 (diff) | |
download | external_llvm-3f23744df4809eba94284e601e81489212c974d4.zip external_llvm-3f23744df4809eba94284e601e81489212c974d4.tar.gz external_llvm-3f23744df4809eba94284e601e81489212c974d4.tar.bz2 |
Fix some register-alias-related bugs in the post-RA scheduler liveness
computation code. Also, avoid adding output-depenency edges when both
defs are dead, which frequently happens with EFLAGS defs.
Compute Depth and Height lazily, and always in terms of edge latency
values. For the schedulers that don't care about latency, edge latencies
are set to 1.
Eliminate Cycle and CycleBound, and LatencyPriorityQueue's Latencies array.
These are all subsumed by the Depth and Height fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61073 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/fold-pcmpeqd-0.ll')
-rw-r--r-- | test/CodeGen/X86/fold-pcmpeqd-0.ll | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/test/CodeGen/X86/fold-pcmpeqd-0.ll b/test/CodeGen/X86/fold-pcmpeqd-0.ll index 6af7219..152c122 100644 --- a/test/CodeGen/X86/fold-pcmpeqd-0.ll +++ b/test/CodeGen/X86/fold-pcmpeqd-0.ll @@ -1,10 +1,8 @@ -; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | not grep pcmpeqd +; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | grep pcmpeqd | count 1 ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin | grep pcmpeqd | count 1 -; On x86-64, this testcase shouldn't need to spill the -1 value, +; This testcase shouldn't need to spill the -1 value, ; so it should just use pcmpeqd to materialize an all-ones vector. -; On x86-32, there aren't enough registers, so an all-ones -; constant pool should be created so it can be folded. %struct.__ImageExecInfo = type <{ <4 x i32>, <4 x float>, <2 x i64>, i8*, i8*, i8*, i32, i32, i32, i32, i32 }> %struct._cl_image_format_t = type <{ i32, i32, i32 }> |