From 1c87e2a3a8a6f06c6ba19dfe0ff09ef82686e603 Mon Sep 17 00:00:00 2001 From: Michael Zolotukhin Date: Mon, 5 May 2014 14:46:53 +0000 Subject: 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 --- test/Transforms/ConstantHoisting/X86/large-immediate-2.ll | 6 ++++-- 1 file 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 -- cgit v1.2.3