[PATCH] Add tail call optimization for thumb1-only targets rev. 3

Jonathan Roelofs jonathan at codesourcery.com
Mon Jan 19 08:54:10 PST 2015


I'd also like to see a test case where r7 is used for the scratch reg.


================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:1700
@@ -1681,3 +1699,3 @@
 
-  if (EnableARMLongCalls) {
+  if (IsCallAddrRequiredInReg) {
     assert((Subtarget->isTargetWindows() ||
----------------
Control flow would be easier to read if you eliminate IsCallAddrRequiredInReg and just do the checks needed here.

================
Comment at: test/CodeGen/ARM/twoParametersTailCall_v6m.ll:6
@@ +5,3 @@
+
+define void @hugo(i32 %a, i32 %b, i32 %c) #0 {
+entry:
----------------
Now that you've dropped the metadata, you can also drop the #[0-9]'s

http://reviews.llvm.org/D7005

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list