ptx: fix parameter ordering

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
This commit is contained in:
Che-Liang Chiou 2011-04-21 10:56:58 +00:00
parent 4a17cad900
commit 5efde18dd2
2 changed files with 5 additions and 8 deletions

View File

@ -42,12 +42,9 @@ public:
void setRetReg(unsigned reg) { reg_ret = reg; } void setRetReg(unsigned reg) { reg_ret = reg; }
void doneAddArg(void) { void doneAddArg(void) {
std::sort(reg_arg.begin(), reg_arg.end());
_isDoneAddArg = true; _isDoneAddArg = true;
} }
void doneAddLocalVar(void) { void doneAddLocalVar(void) {}
std::sort(reg_local_var.begin(), reg_local_var.end());
}
bool isDoneAddArg(void) { return _isDoneAddArg; } bool isDoneAddArg(void) { return _isDoneAddArg; }

View File

@ -1,8 +1,8 @@
; RUN: llc < %s -march=ptx32 | FileCheck %s ; RUN: llc < %s -march=ptx32 | FileCheck %s
; CHECK: .func (.reg .u32 r0) test_parameter_order (.reg .u32 r1, .reg .u32 r2) ; 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(i32 %x, i32 %y) { define ptx_device i32 @test_parameter_order(float %a, i32 %b, i32 %c, float %d) {
; CHECK: sub.u32 r0, r1, r2 ; CHECK: sub.u32 r0, r1, r2
%z = sub i32 %x, %y %result = sub i32 %b, %c
ret i32 %z ret i32 %result
} }