Test source: git
Source: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll -- 1. FunctionImportPass -- 2. FunctionImportPass ---------------------------------------- declare void @weakalias() declare void @analias() declare void @linkoncealias() declare i32 @referencestatics() declare i32 @referenceglobals() declare i32 @referencecommon() declare void @setfuncptr() declare void @callfuncptr() declare void @weakfunc() declare void @linkoncefunc2() declare void @referencelargelinkonce() declare void @variadic_no_va_start() declare void @variadic_va_start() define i32 @main() { entry: call void @weakalias() call void @analias() call void @linkoncealias() %call = call i32 @referencestatics() %call1 = call i32 @referenceglobals() %call2 = call i32 @referencecommon() call void @setfuncptr() call void @callfuncptr() call void @weakfunc() call void @linkoncefunc2() call void @referencelargelinkonce() call void @variadic_no_va_start() call void @variadic_va_start() ret i32 0 } => declare void @weakalias() declare void @analias() declare void @linkoncealias() declare void @setfuncptr() declare void @callfuncptr() declare void @weakfunc() declare void @linkoncefunc2() declare void @referencelargelinkonce() declare void @variadic_no_va_start() declare void @variadic_va_start() analias = constant ? bytes, align 8 linkoncealias = constant ? bytes, align 8 setfuncptr = constant ? bytes, align 8 callfuncptr = constant ? bytes, align 8 referencelargelinkonce = constant ? bytes, align 8 define i32 @main() { entry: call void @weakalias() call void analias() call void linkoncealias() assume i1 0 assume i1 0 assume i1 0 call void setfuncptr() call void callfuncptr() call void @weakfunc() call void @linkoncefunc2() call void referencelargelinkonce() call void @variadic_no_va_start() call void @variadic_va_start() ret i32 0 } Transformation doesn't verify! (unsound) ERROR: Source is more defined than target Example: Source: Function @weakalias returned Function @analias returned Function @linkoncealias returned i32 %call = function did not return! SOURCE MEMORY STATE =================== NON-LOCAL BLOCKS: Block 0 > size: 0 align: 1 alloc type: 0 alive: false address: 0 Block 1 > size: 8 align: 8 alloc type: 0 alive: true address: 144 const Block 2 > size: 8 align: 8 alloc type: 0 alive: true address: 80 const Block 3 > size: 9 align: 8 alloc type: 0 alive: true address: 8 const Block 4 > size: 9 align: 8 alloc type: 0 alive: true address: 32 const Block 5 > size: 9 align: 8 alloc type: 0 alive: true address: 64 const Block 6 > size: 1 align: 1 alloc type: 0 alive: true address: 0 Target: Function @weakalias returned Function returned Function returned void = UB triggered! Pass: FunctionImportPass Command line: '/home/nlopes/llvm/build/bin/opt' '-load=/home/nlopes/alive2/build/tv/tv.so' '-load-pass-plugin=/home/nlopes/alive2/build/tv/tv.so' '-tv-exit-on-error' '-passes=function-import' '-stats' '-print-imports' '-enable-import-metadata' '-summary-file' '/bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp3.thinlto.bc' '/bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc' '-S' '-tv-smt-to=20000' '-tv-report-dir=/home/nlopes/alive2/build/logs' '-tv-smt-stats' Wrote bitcode to: "/home/nlopes/alive2/build/logs/funcimport_sKrLyjX2_qdVA.bc" ------------------- SMT STATS ------------------- Num queries: 39 Num invalid: 0 Num skips: 0 Num trivial: 0 (0.0%) Num timeout: 0 (0.0%) Num errors: 0 (0.0%) Num SAT: 27 (69.2%) Num UNSAT: 12 (30.8%) Alive2: Transform doesn't verify; aborting!
RUN: at line 4: /home/nlopes/alive2/build/opt-alive.sh -module-summary /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc + /home/nlopes/alive2/build/opt-alive.sh -module-summary /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc RUN: at line 5: /home/nlopes/alive2/build/opt-alive.sh -module-summary /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp2.bc + /home/nlopes/alive2/build/opt-alive.sh -module-summary /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp2.bc RUN: at line 6: /bitbucket/nlopes/llvm/build/bin/llvm-lto -thinlto -print-summary-global-ids -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp3 /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp2.bc 2>&1 | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll --check-prefix=GUID + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll --check-prefix=GUID + /bitbucket/nlopes/llvm/build/bin/llvm-lto -thinlto -print-summary-global-ids -o /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp3 /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp2.bc RUN: at line 9: /home/nlopes/alive2/build/opt-alive.sh -passes=function-import -stats -print-imports -enable-import-metadata -summary-file /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp3.thinlto.bc /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc -S 2>&1 | /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll --check-prefix=CHECK --check-prefix=INSTLIMDEF + /home/nlopes/alive2/build/opt-alive.sh -passes=function-import -stats -print-imports -enable-import-metadata -summary-file /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp3.thinlto.bc /bitbucket/nlopes/llvm/build/test/Transforms/FunctionImport/Output/funcimport.ll.tmp.bc -S + /bitbucket/nlopes/llvm/build/bin/FileCheck /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll --check-prefix=CHECK --check-prefix=INSTLIMDEF /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll:47:14: error: CHECK-DAG: expected string not found in input ; CHECK-DAG: declare void @weakalias ^ <stdin>:1:1: note: scanning from here /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import globalfunc1 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll ^ <stdin>:18:66: note: possible intended match here /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import analias from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll ^ Input file: <stdin> Check file: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll -dump-input=help explains the following input dump. Input was: <<<<<< 1: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import globalfunc1 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found 2: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import globalfunc2 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import referencestatics from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import referenceglobals from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import referencecommon from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import setfuncptr from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ . . . 13: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import variadic_va_start from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import globalvar from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import staticvar.llvm.0 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import staticconstvar.llvm.0 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 17: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import P.llvm.0 from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import analias from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dag:47'1 ? possible intended match 19: /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/funcimport.ll: Import linkoncealias from /bitbucket/nlopes/llvm/llvm/test/Transforms/FunctionImport/Inputs/funcimport.ll dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 20: dag:47'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>