| // RUN: %clang_cc1 -emit-llvm -triple=armv7-apple-darwin -std=c++11 %s -o - -O1 \ | |
| // RUN: | FileCheck %s | |
| // RUN: %clang_cc1 -emit-llvm -triple=armv7-apple-darwin -std=c++11 %s -o - -O1 \ | |
| // RUN: -discard-value-names | FileCheck %s --check-prefix=DISCARDVALUE | |
| extern "C" void branch(); | |
| bool test(bool pred) { | |
| // DISCARDVALUE: br i1 %0, label %2, label %3 | |
| // CHECK: br i1 %pred, label %if.then, label %if.end | |
| if (pred) { | |
| // DISCARDVALUE: 2: | |
| // DISCARDVALUE-NEXT: call void @branch() | |
| // DISCARDVALUE-NEXT: br label %3 | |
| // CHECK: if.then: | |
| // CHECK-NEXT: call void @branch() | |
| // CHECK-NEXT: br label %if.end | |
| branch(); | |
| } | |
| // DISCARDVALUE: 3: | |
| // DISCARDVALUE-NEXT: ret i1 %0 | |
| // CHECK: if.end: | |
| // CHECK-NEXT: ret i1 %pred | |
| return pred; | |
| } |