mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-10 22:55:57 +00:00
frame index. eliminateFrameIndex will replace these instructions with (LDWSP|STWSP|LDAWSP) or (LDW|STW|LDAWF) if a frame pointer is in use. This fixes PR 3324. Previously we used LDWSP, STWSP, LDAWSP before frame pointer elimination. However since they were marked as implicitly using SP they could not be rematerialised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62238 91177308-0d34-0410-b5e6-96231b3b80d8
19 lines
648 B
LLVM
19 lines
648 B
LLVM
; RUN: llvm-as < %s | llc -march=xcore > %t1.s
|
|
; PR3324
|
|
define double @f1(double %a, double %b, double %c, double %d, double %e, double %f, double %g) nounwind {
|
|
entry:
|
|
br i1 false, label %bb113, label %bb129
|
|
|
|
bb113: ; preds = %entry
|
|
ret double 0.000000e+00
|
|
|
|
bb129: ; preds = %entry
|
|
%tmp134 = sub double %b, %a ; <double> [#uses=1]
|
|
%tmp136 = sub double %tmp134, %c ; <double> [#uses=1]
|
|
%tmp138 = add double %tmp136, %d ; <double> [#uses=1]
|
|
%tmp140 = sub double %tmp138, %e ; <double> [#uses=1]
|
|
%tmp142 = add double %tmp140, %f ; <double> [#uses=1]
|
|
%tmp.0 = mul double %tmp142, 0.000000e+00 ; <double> [#uses=1]
|
|
ret double %tmp.0
|
|
}
|