1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll
Richard Osborne 12b88f2fae Add pseudo instructions to the XCore for (load|store|load address) of a
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.

llvm-svn: 62238
2009-01-14 18:26:46 +00:00

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
}