mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
New testcases to test LICM of call instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12414 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5b5f7c11d0
commit
65a88e83e3
16
test/Transforms/LICM/call_sink_const_function.ll
Normal file
16
test/Transforms/LICM/call_sink_const_function.ll
Normal file
@ -0,0 +1,16 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | grep -C1 sin | grep Out:
|
||||
declare double %sin(double)
|
||||
declare void %foo()
|
||||
|
||||
double %test(double %X) {
|
||||
br label %Loop
|
||||
|
||||
Loop:
|
||||
call void %foo() ;; Unknown effects!
|
||||
|
||||
%A = call double %sin(double %X) ;; Can still hoist/sink call
|
||||
br bool true, label %Loop, label %Out
|
||||
|
||||
Out:
|
||||
ret double %A
|
||||
}
|
14
test/Transforms/LICM/call_sink_pure_function.ll
Normal file
14
test/Transforms/LICM/call_sink_pure_function.ll
Normal file
@ -0,0 +1,14 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -licm | llvm-dis | grep -C1 strlen | grep Out:
|
||||
declare int %strlen(sbyte*)
|
||||
declare void %foo()
|
||||
|
||||
int %test(sbyte* %P) {
|
||||
br label %Loop
|
||||
|
||||
Loop:
|
||||
%A = call int %strlen(sbyte* %P) ;; Can hoist/sink call
|
||||
br bool false, label %Loop, label %Out
|
||||
|
||||
Out:
|
||||
ret int %A
|
||||
}
|
Loading…
Reference in New Issue
Block a user