mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-24 06:30:19 +00:00
2fb0234d5f
Instead of processing relocation for branch to stubs right away, emit a modified relocation and add it to queue to be resolved later when final load address is known. This resolves seven MIPS MCJIT issues that were caused by missing relocation fixups at the end. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195157 91177308-0d34-0410-b5e6-96231b3b80d8
21 lines
725 B
LLVM
21 lines
725 B
LLVM
; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target %s > /dev/null
|
|
|
|
define double @test(double* %DP, double %Arg) {
|
|
%D = load double* %DP ; <double> [#uses=1]
|
|
%V = fadd double %D, 1.000000e+00 ; <double> [#uses=2]
|
|
%W = fsub double %V, %V ; <double> [#uses=3]
|
|
%X = fmul double %W, %W ; <double> [#uses=2]
|
|
%Y = fdiv double %X, %X ; <double> [#uses=2]
|
|
%Q = fadd double %Y, %Arg ; <double> [#uses=1]
|
|
%R = bitcast double %Q to double ; <double> [#uses=1]
|
|
store double %Q, double* %DP
|
|
ret double %Y
|
|
}
|
|
|
|
define i32 @main() {
|
|
%X = alloca double ; <double*> [#uses=2]
|
|
store double 0.000000e+00, double* %X
|
|
call double @test( double* %X, double 2.000000e+00 ) ; <double>:1 [#uses=0]
|
|
ret i32 0
|
|
}
|