ptx: fix parameter ordering
authorChe-Liang Chiou <clchiou@gmail.com>
Thu, 21 Apr 2011 10:56:58 +0000 (10:56 +0000)
committerChe-Liang Chiou <clchiou@gmail.com>
Thu, 21 Apr 2011 10:56:58 +0000 (10:56 +0000)
This patch depends on the prior fix r129908 that changes to use std::find,
rather than std::binary_search, on unordered array.

Patch by Dan Bailey

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129909 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PTX/PTXMachineFunctionInfo.h
test/CodeGen/PTX/parameter-order.ll

index a04259580427f3c70a8ce2fc757a9adf1bce8040..81df1c236cb217e309dfaa2dddbcb5af37e661aa 100644 (file)
@@ -42,12 +42,9 @@ public:
   void setRetReg(unsigned reg) { reg_ret = reg; }
 
   void doneAddArg(void) {
-    std::sort(reg_arg.begin(), reg_arg.end());
     _isDoneAddArg = true;
   }
-  void doneAddLocalVar(void) {
-    std::sort(reg_local_var.begin(), reg_local_var.end());
-  }
+  void doneAddLocalVar(void) {}
 
   bool isDoneAddArg(void) { return _isDoneAddArg; }
 
index 8131f13a6e82fcaf474f8db566f389468af481a9..95d4a328149c885de55c0dfbe5625490b0ac2877 100644 (file)
@@ -1,8 +1,8 @@
 ; RUN: llc < %s -march=ptx32 | FileCheck %s
 
-; CHECK: .func (.reg .u32 r0) test_parameter_order (.reg .u32 r1, .reg .u32 r2)
-define ptx_device i32 @test_parameter_order(i32 %x, i32 %y) {
+; CHECK: .func (.reg .u32 r0) test_parameter_order (.reg .f32 f1, .reg .u32 r1, .reg .u32 r2, .reg .f32 f2)
+define ptx_device i32 @test_parameter_order(float %a, i32 %b, i32 %c, float %d) {
 ; CHECK: sub.u32 r0, r1, r2
-       %z = sub i32 %x, %y
-       ret i32 %z
+       %result = sub i32 %b, %c
+       ret i32 %result
 }