There was a switch fall-through in the parser for textual LLVM that caused

bogus comparison operands to default to eq/oeq. Fix that, fix a couple of
tests that accidentally passed and test for bogus comparison opeartors
explicitly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171733 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Tweed
2013-01-07 13:32:38 +00:00
parent e97165901e
commit d80d608f76
4 changed files with 6 additions and 6 deletions

View File

@@ -19,9 +19,9 @@ define void @test2(float %A, float %B, i1* %PA, i1* %PB) {
; CHECK-NEXT: store
; CHECK-NEXT: store
; CHECK-NEXT: ret
%C = fcmp eq float %A, %B
%C = fcmp oeq float %A, %B
store i1 %C, i1* %PA
%D = fcmp eq float %B, %A
%D = fcmp oeq float %B, %A
store i1 %D, i1* %PB
ret void
}

View File

@@ -1,5 +1,5 @@
; RUN: opt -loop-idiom < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 -S | FileCheck %s
booom
;To recognize this pattern:
;int popcount(unsigned long long a) {
; int c = 0;