1*b279f6b0SFangrui Song# RUN: llc %s --run-pass=nvptx-proxyreg-erasure -mtriple=nvptx64 -o - | FileCheck %s 231b4bf93SJeff Niu 331b4bf93SJeff Niu--- | 431b4bf93SJeff Niu ; ModuleID = 'third-party/llvm-project/llvm/test/CodeGen/NVPTX/proxy-reg-erasure-mir.ll' 531b4bf93SJeff Niu source_filename = "third-party/llvm-project/llvm/test/CodeGen/NVPTX/proxy-reg-erasure-mir.ll" 631b4bf93SJeff Niu target datalayout = "e-i64:64-i128:128-v16:16-v32:32-n16:32:64" 731b4bf93SJeff Niu 831b4bf93SJeff Niu declare <4 x i32> @callee_vec_i32() 931b4bf93SJeff Niu 1031b4bf93SJeff Niu define <4 x i32> @check_vec_i32() { 1131b4bf93SJeff Niu %ret = call <4 x i32> @callee_vec_i32() 1231b4bf93SJeff Niu ret <4 x i32> %ret 1331b4bf93SJeff Niu } 1431b4bf93SJeff Niu 1531b4bf93SJeff Niu... 1631b4bf93SJeff Niu--- 1731b4bf93SJeff Niuname: check_vec_i32 1831b4bf93SJeff Niualignment: 1 1931b4bf93SJeff NiuexposesReturnsTwice: false 2031b4bf93SJeff Niulegalized: false 2131b4bf93SJeff NiuregBankSelected: false 2231b4bf93SJeff Niuselected: false 2331b4bf93SJeff NiufailedISel: false 2431b4bf93SJeff NiutracksRegLiveness: true 2531b4bf93SJeff NiuhasWinCFI: false 2631b4bf93SJeff NiucallsEHReturn: false 2731b4bf93SJeff NiucallsUnwindInit: false 2831b4bf93SJeff NiuhasEHCatchret: false 2931b4bf93SJeff NiuhasEHScopes: false 3031b4bf93SJeff NiuhasEHFunclets: false 3131b4bf93SJeff NiuisOutlined: false 3231b4bf93SJeff NiudebugInstrRef: false 3331b4bf93SJeff NiufailsVerification: false 3431b4bf93SJeff NiutracksDebugUserValues: false 3531b4bf93SJeff Niuregisters: 3631b4bf93SJeff Niu - { id: 0, class: int32regs, preferred-register: '' } 3731b4bf93SJeff Niu - { id: 1, class: int32regs, preferred-register: '' } 3831b4bf93SJeff Niu - { id: 2, class: int32regs, preferred-register: '' } 3931b4bf93SJeff Niu - { id: 3, class: int32regs, preferred-register: '' } 4031b4bf93SJeff Niu - { id: 4, class: int32regs, preferred-register: '' } 4131b4bf93SJeff Niu - { id: 5, class: int32regs, preferred-register: '' } 4231b4bf93SJeff Niu - { id: 6, class: int32regs, preferred-register: '' } 4331b4bf93SJeff Niu - { id: 7, class: int32regs, preferred-register: '' } 4431b4bf93SJeff Niu - { id: 8, class: int32regs, preferred-register: '' } 4531b4bf93SJeff Niu - { id: 9, class: int32regs, preferred-register: '' } 4631b4bf93SJeff Niu - { id: 10, class: int32regs, preferred-register: '' } 4731b4bf93SJeff Niu - { id: 11, class: int32regs, preferred-register: '' } 4831b4bf93SJeff Niuliveins: [] 4931b4bf93SJeff NiuframeInfo: 5031b4bf93SJeff Niu isFrameAddressTaken: false 5131b4bf93SJeff Niu isReturnAddressTaken: false 5231b4bf93SJeff Niu hasStackMap: false 5331b4bf93SJeff Niu hasPatchPoint: false 5431b4bf93SJeff Niu stackSize: 0 5531b4bf93SJeff Niu offsetAdjustment: 0 5631b4bf93SJeff Niu maxAlignment: 1 5731b4bf93SJeff Niu adjustsStack: false 5831b4bf93SJeff Niu hasCalls: true 5931b4bf93SJeff Niu stackProtector: '' 6031b4bf93SJeff Niu functionContext: '' 6131b4bf93SJeff Niu maxCallFrameSize: 4294967295 6231b4bf93SJeff Niu cvBytesOfCalleeSavedRegisters: 0 6331b4bf93SJeff Niu hasOpaqueSPAdjustment: false 6431b4bf93SJeff Niu hasVAStart: false 6531b4bf93SJeff Niu hasMustTailInVarArgFunc: false 6631b4bf93SJeff Niu hasTailCall: false 6731b4bf93SJeff Niu isCalleeSavedInfoValid: false 6831b4bf93SJeff Niu localFrameSize: 0 6931b4bf93SJeff Niu savePoint: '' 7031b4bf93SJeff Niu restorePoint: '' 7131b4bf93SJeff NiufixedStack: [] 7231b4bf93SJeff Niustack: [] 7331b4bf93SJeff Niuentry_values: [] 7431b4bf93SJeff NiucallSites: [] 7531b4bf93SJeff NiudebugValueSubstitutions: [] 7631b4bf93SJeff Niuconstants: [] 7731b4bf93SJeff NiumachineFunctionInfo: {} 7831b4bf93SJeff Niubody: | 7931b4bf93SJeff Niu bb.0: 8031b4bf93SJeff Niu %0:int32regs, %1:int32regs, %2:int32regs, %3:int32regs = LoadParamMemV4I32 0 8131b4bf93SJeff Niu ; CHECK-NOT: ProxyReg 8231b4bf93SJeff Niu %4:int32regs = ProxyRegI32 killed %0 8331b4bf93SJeff Niu %5:int32regs = ProxyRegI32 killed %1 8431b4bf93SJeff Niu %6:int32regs = ProxyRegI32 killed %2 8531b4bf93SJeff Niu %7:int32regs = ProxyRegI32 killed %3 8631b4bf93SJeff Niu ; CHECK: StoreRetvalV4I32 killed %0, killed %1, killed %2, killed %3 8731b4bf93SJeff Niu StoreRetvalV4I32 killed %4, killed %5, killed %6, killed %7, 0 8831b4bf93SJeff Niu 8931b4bf93SJeff Niu %8:int32regs = LoadParamMemI32 0 9031b4bf93SJeff Niu ; CHECK-NOT: ProxyReg 9131b4bf93SJeff Niu %9:int32regs = ProxyRegI32 killed %8 9231b4bf93SJeff Niu %10:int32regs = ProxyRegI32 killed %9 9331b4bf93SJeff Niu %11:int32regs = ProxyRegI32 killed %10 9431b4bf93SJeff Niu ; CHECK: StoreRetvalI32 killed %8 9531b4bf93SJeff Niu StoreRetvalI32 killed %11, 0 9631b4bf93SJeff Niu Return 9731b4bf93SJeff Niu 9831b4bf93SJeff Niu... 99