summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-08-04 12:48:42 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-08-04 12:48:42 +0000
commit2bcb8c0f0517f070cdfd4e4a2c73c82a667caa26 (patch)
tree6f362588ef5faffd39ab5cbf300d0105a848e8b8 /llvm
parente19f6fde2dbb74779ecd5fb2443fea5d4b326b47 (diff)
downloadbcm5719-llvm-2bcb8c0f0517f070cdfd4e4a2c73c82a667caa26.tar.gz
bcm5719-llvm-2bcb8c0f0517f070cdfd4e4a2c73c82a667caa26.zip
use a 'register pressure reducing' scheduler
make sure only one move is used in a hello world llvm-svn: 29520
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp2
-rw-r--r--llvm/test/Regression/CodeGen/ARM/hello.ll13
2 files changed, 15 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
index 000efaadde1..34d972ffa76 100644
--- a/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
+++ b/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
@@ -44,6 +44,8 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM)
setOperationAction(ISD::RET, MVT::Other, Custom);
setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
setOperationAction(ISD::ConstantPool, MVT::i32, Custom);
+
+ setSchedulingPreference(SchedulingForRegPressure);
}
namespace llvm {
diff --git a/llvm/test/Regression/CodeGen/ARM/hello.ll b/llvm/test/Regression/CodeGen/ARM/hello.ll
new file mode 100644
index 00000000000..61354a0425c
--- /dev/null
+++ b/llvm/test/Regression/CodeGen/ARM/hello.ll
@@ -0,0 +1,13 @@
+; RUN: llvm-as < %s | llc -march=arm &&
+; RUN: llvm-as < %s | llc -march=arm | grep mov | wc -l | grep 1
+%str = internal constant [12 x sbyte] c"Hello World\00" ; <[12 x sbyte]*> [#uses=1]
+
+implementation ; Functions:
+
+int %main() {
+entry:
+ %tmp = call int %puts( sbyte* getelementptr ([12 x sbyte]* %str, int 0, uint 0) ) ; <int> [#uses=0]
+ ret int 0
+}
+
+declare int %puts(sbyte*)
OpenPOWER on IntegriCloud