summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Zolotukhin <mzolotukhin@apple.com>2014-05-05 14:46:53 +0000
committerMichael Zolotukhin <mzolotukhin@apple.com>2014-05-05 14:46:53 +0000
commit1c87e2a3a8a6f06c6ba19dfe0ff09ef82686e603 (patch)
treed07de165a8215335f5f281839ef3c755781cd806
parentdf8640530cf39e4dc32177808bc61c11edf539e8 (diff)
downloadllvm-1c87e2a3a8a6f06c6ba19dfe0ff09ef82686e603.tar.gz
llvm-1c87e2a3a8a6f06c6ba19dfe0ff09ef82686e603.tar.bz2
llvm-1c87e2a3a8a6f06c6ba19dfe0ff09ef82686e603.tar.xz
Fix test from r207966 and add a comment there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207969 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/ConstantHoisting/X86/large-immediate-2.ll6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/Transforms/ConstantHoisting/X86/large-immediate-2.ll b/test/Transforms/ConstantHoisting/X86/large-immediate-2.ll
index 5f23e0a329..883be355bd 100644
--- a/test/Transforms/ConstantHoisting/X86/large-immediate-2.ll
+++ b/test/Transforms/ConstantHoisting/X86/large-immediate-2.ll
@@ -1,8 +1,10 @@
; RUN: llc < %s -O3 -march=x86-64 |FileCheck %s
define i64 @foo(i1 %z, i192* %p, i192* %q)
{
-; CHECK: movq 16(%rsi), %rax
-; CHECK-NEXT: retq
+; If const 128 is hoisted to a variable, then in basic block L_val2 we would
+; have %lshr2 = lshr i192 %data2, %const, and the definition of %const would
+; be in another basic block. As a result, a very inefficient code might be
+; produced. Here we check that this doesn't occur.
entry:
%data1 = load i192* %p, align 8
%lshr1 = lshr i192 %data1, 128