From de96f39392fedb5f2f538377a57ba52b2d7e346f Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Tue, 17 May 2016 19:25:55 +0000 Subject: [PATCH] [InstCombine] add test for wrong icmp constant (PR27792) The code fix for this was checked in at r269797. llvm-svn: 269803 --- llvm/test/Transforms/InstCombine/icmp.ll | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/icmp.ll b/llvm/test/Transforms/InstCombine/icmp.ll index 24a539be2b60..099d15944ab5 100644 --- a/llvm/test/Transforms/InstCombine/icmp.ll +++ b/llvm/test/Transforms/InstCombine/icmp.ll @@ -2097,3 +2097,15 @@ if.then3: ; preds = %if.end return: ; preds = %if.end, %entry, %if.then3 ret void } + +; When canonicalizing to 'sgt', make sure the constant is correct. + +define i1 @PR27792(i128 %a) { +; CHECK-LABEL: @PR27792( +; CHECK-NEXT: [[CMP:%.*]] = icmp sgt i128 %a, -1 +; CHECK-NEXT: ret i1 [[CMP]] +; + %cmp = icmp sge i128 %a, 0 + ret i1 %cmp +} +