Turning on `enable_noundef_analysis` flag allows better codegen by removing freeze instructions. I modified clang by renaming `enable_noundef_analysis` flag to `disable-noundef-analysis` and turning it off by default. Test updates are made as a separate patch: D108453 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D105169
18 lines
560 B
Plaintext
18 lines
560 B
Plaintext
// RUN: %clang_cc1 -triple i686-unknown-windows-msvc -fobjc-runtime=ios-6.0 -fobjc-arc \
|
|
// RUN: -fexceptions -fcxx-exceptions -emit-llvm -o - %s | FileCheck %s
|
|
|
|
id f();
|
|
void g() {
|
|
try {
|
|
f();
|
|
} catch (...) {
|
|
f();
|
|
}
|
|
}
|
|
|
|
// CHECK: call noundef i8* @"?f@@YAPAUobjc_object@@XZ"() [ "funclet"(token %1) ]
|
|
// CHECK-NEXT: call void asm sideeffect "movl{{.*}}%ebp, %ebp{{.*}}", ""() [ "funclet"(token %1) ]
|
|
|
|
// The corresponding f() call was invoked from the entry basic block.
|
|
// CHECK: call void asm sideeffect "movl{{.*}}%ebp, %ebp{{.*}}", ""(){{$}}
|