|
54 | 54 |
|
55 | 55 | ; RUN: llvm-lto2 run hybrid.o -save-temps -pass-remarks=. \ |
56 | 56 | ; RUN: -thinlto-threads=1 \ |
57 | | -; RUN: -o hybrid \ |
| 57 | +; RUN: -o hybrid-tmp \ |
58 | 58 | ; RUN: --whole-program-visibility-enabled-in-lto=true \ |
59 | 59 | ; RUN: --validate-all-vtables-have-type-infos=true \ |
60 | 60 | ; RUN: --all-vtables-have-type-infos=true \ |
|
75 | 75 |
|
76 | 76 | ; RUN: llvm-lto2 run hybrid.o -save-temps -pass-remarks=. \ |
77 | 77 | ; RUN: -thinlto-threads=1 \ |
78 | | -; RUN: -o hybrid \ |
| 78 | +; RUN: -o hybrid-tmp \ |
79 | 79 | ; RUN: --whole-program-visibility-enabled-in-lto=true \ |
80 | 80 | ; RUN: --validate-all-vtables-have-type-infos=true \ |
81 | 81 | ; RUN: --all-vtables-have-type-infos=true \ |
|
94 | 94 | ; RUN: 2>&1 | FileCheck --allow-empty %s --implicit-check-not='single-impl: devirtualized a call to' |
95 | 95 |
|
96 | 96 |
|
97 | | -; In regular LTO, global resolutions (as expected) show symbols are visible |
98 | | -; outside summary (when they come from regular LTO module without summaries). |
99 | | -; In the setting of this test case (equivalent of `-Wl,--lto-whole-program-visibility -Wl,--lto-validate-all-vtables-have-type-infos` in lld), |
100 | | -; devirtualization will be suppressed even if the compatible class is not |
101 | | -; referenced from shared libraries. So regular LTO test coverage is not meaningful. |
| 97 | +; Repeat the above tests for WPD in regular LTO. |
| 98 | +; RUN: opt -module-summary -o regular.o %s |
| 99 | + |
| 100 | +; RUN: llvm-lto2 run regular.o -save-temps -pass-remarks=. \ |
| 101 | +; RUN: -thinlto-threads=1 \ |
| 102 | +; RUN: -o regular-temp \ |
| 103 | +; RUN: --whole-program-visibility-enabled-in-lto=true \ |
| 104 | +; RUN: --validate-all-vtables-have-type-infos=true \ |
| 105 | +; RUN: --all-vtables-have-type-infos=true \ |
| 106 | +; RUN: -r=regular.o,__cxa_pure_virtual, \ |
| 107 | +; RUN: -r=regular.o,_ZN8DerivedNC2Ev,x \ |
| 108 | +; RUN: -r=regular.o,_ZN4Base8dispatchEv,px \ |
| 109 | +; RUN: -r=regular.o,_ZN7DerivedC2Ev, \ |
| 110 | +; RUN: -r=regular.o,_ZN8DerivedN5printEv,px \ |
| 111 | +; RUN: -r=regular.o,_ZTS8DerivedN,p \ |
| 112 | +; RUN: -r=regular.o,_ZTI7Derived,p \ |
| 113 | +; RUN: -r=regular.o,_ZTV8DerivedN,p \ |
| 114 | +; RUN: -r=regular.o,_ZTI8DerivedN,p \ |
| 115 | +; RUN: 2>&1 | FileCheck --allow-empty %s --check-prefix=REMARK |
| 116 | + |
| 117 | +; RUN: llvm-lto2 run regular.o -save-temps -pass-remarks=. \ |
| 118 | +; RUN: -thinlto-threads=1 \ |
| 119 | +; RUN: -o regular-temp \ |
| 120 | +; RUN: --whole-program-visibility-enabled-in-lto=true \ |
| 121 | +; RUN: --validate-all-vtables-have-type-infos=true \ |
| 122 | +; RUN: --all-vtables-have-type-infos=true \ |
| 123 | +; RUN: -r=regular.o,__cxa_pure_virtual, \ |
| 124 | +; RUN: -r=regular.o,_ZN8DerivedNC2Ev,x \ |
| 125 | +; RUN: -r=regular.o,_ZN4Base8dispatchEv,px \ |
| 126 | +; RUN: -r=regular.o,_ZN7DerivedC2Ev, \ |
| 127 | +; RUN: -r=regular.o,_ZN8DerivedN5printEv,px \ |
| 128 | +; RUN: -r=regular.o,_ZTS8DerivedN,p \ |
| 129 | +; RUN: -r=regular.o,_ZTI7Derived, \ |
| 130 | +; RUN: -r=regular.o,_ZTV8DerivedN,p \ |
| 131 | +; RUN: -r=regular.o,_ZTI8DerivedN,p \ |
| 132 | +; RUN: 2>&1 | FileCheck --allow-empty %s --implicit-check-not='single-impl: devirtualized a call to' |
102 | 133 |
|
103 | 134 | ; REMARK: single-impl: devirtualized a call to _ZN8DerivedN5printEv |
104 | 135 |
|
|
0 commit comments