From f036ff3c565c368097ccc8bf632e43d1f9c5f09f Mon Sep 17 00:00:00 2001 From: Richard Osborne Date: Wed, 14 Jan 2009 18:26:46 +0000 Subject: 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62238 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/XCore/2009-01-14-Remat-Crash.ll | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test/CodeGen/XCore/2009-01-14-Remat-Crash.ll (limited to 'test/CodeGen/XCore') diff --git a/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll b/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll new file mode 100644 index 0000000..735e988 --- /dev/null +++ b/test/CodeGen/XCore/2009-01-14-Remat-Crash.ll @@ -0,0 +1,18 @@ +; 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 ; [#uses=1] + %tmp136 = sub double %tmp134, %c ; [#uses=1] + %tmp138 = add double %tmp136, %d ; [#uses=1] + %tmp140 = sub double %tmp138, %e ; [#uses=1] + %tmp142 = add double %tmp140, %f ; [#uses=1] + %tmp.0 = mul double %tmp142, 0.000000e+00 ; [#uses=1] + ret double %tmp.0 +} -- cgit v1.1