Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/ThinLTO/X86/devirt-after-icp.ll
Show All 40 Lines | |||||
; Both that type test and the one for the fallback a->foo() indirect call | ; Both that type test and the one for the fallback a->foo() indirect call | ||||
; will use the same vtable pointer. Without a dominance check, we could | ; will use the same vtable pointer. Without a dominance check, we could | ||||
; incorrectly devirtualize a->foo() to B::foo(); | ; incorrectly devirtualize a->foo() to B::foo(); | ||||
; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t.o %s | ; RUN: opt -thinlto-bc -thinlto-split-lto-unit -o %t.o %s | ||||
; Legacy PM | ; Legacy PM | ||||
; RUN: llvm-lto2 run %t.o -save-temps -pass-remarks=. \ | ; RUN: llvm-lto2 run %t.o -save-temps -pass-remarks=. \ | ||||
; RUN: -whole-program-visibility \ | |||||
; RUN: -o %t3 \ | ; RUN: -o %t3 \ | ||||
; RUN: -r=%t.o,_Z3bazP1A,px \ | ; RUN: -r=%t.o,_Z3bazP1A,px \ | ||||
; RUN: -r=%t.o,_ZN1A3fooEv, \ | ; RUN: -r=%t.o,_ZN1A3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1A3barEv, \ | ; RUN: -r=%t.o,_ZN1A3barEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3fooEv, \ | ; RUN: -r=%t.o,_ZN1B3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3barEv, \ | ; RUN: -r=%t.o,_ZN1B3barEv, \ | ||||
; RUN: -r=%t.o,_ZTV1A, \ | ; RUN: -r=%t.o,_ZTV1A, \ | ||||
; RUN: -r=%t.o,_ZTV1B, \ | ; RUN: -r=%t.o,_ZTV1B, \ | ||||
; RUN: -r=%t.o,_ZN1A3fooEv, \ | ; RUN: -r=%t.o,_ZN1A3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1A3barEv, \ | ; RUN: -r=%t.o,_ZN1A3barEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3fooEv, \ | ; RUN: -r=%t.o,_ZN1B3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3barEv, \ | ; RUN: -r=%t.o,_ZN1B3barEv, \ | ||||
; RUN: -r=%t.o,_ZTV1A,px \ | ; RUN: -r=%t.o,_ZTV1A,px \ | ||||
; RUN: -r=%t.o,_ZTV1B,px 2>&1 | FileCheck %s --check-prefix=REMARK | ; RUN: -r=%t.o,_ZTV1B,px 2>&1 | FileCheck %s --check-prefix=REMARK | ||||
; RUN: llvm-dis %t3.1.4.opt.bc -o - | FileCheck %s --check-prefix=CHECK-IR | ; RUN: llvm-dis %t3.1.4.opt.bc -o - | FileCheck %s --check-prefix=CHECK-IR | ||||
; New PM | ; New PM | ||||
; RUN: llvm-lto2 run %t.o -save-temps -use-new-pm -pass-remarks=. \ | ; RUN: llvm-lto2 run %t.o -save-temps -use-new-pm -pass-remarks=. \ | ||||
; RUN: -whole-program-visibility \ | |||||
; RUN: -o %t3 \ | ; RUN: -o %t3 \ | ||||
; RUN: -r=%t.o,_Z3bazP1A,px \ | ; RUN: -r=%t.o,_Z3bazP1A,px \ | ||||
; RUN: -r=%t.o,_ZN1A3fooEv, \ | ; RUN: -r=%t.o,_ZN1A3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1A3barEv, \ | ; RUN: -r=%t.o,_ZN1A3barEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3fooEv, \ | ; RUN: -r=%t.o,_ZN1B3fooEv, \ | ||||
; RUN: -r=%t.o,_ZN1B3barEv, \ | ; RUN: -r=%t.o,_ZN1B3barEv, \ | ||||
; RUN: -r=%t.o,_ZTV1A, \ | ; RUN: -r=%t.o,_ZTV1A, \ | ||||
; RUN: -r=%t.o,_ZTV1B, \ | ; RUN: -r=%t.o,_ZTV1B, \ | ||||
▲ Show 20 Lines • Show All 74 Lines • Show Last 20 Lines |