diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O0.s b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O0.s new file mode 100644 --- /dev/null +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O0.s @@ -0,0 +1,38 @@ + .text + .section .AMDGPU.config + .long 47176 + .long 0 + .long 47180 + .long 0 + .long 47200 + .long 0 + .long 4 + .long 0 + .long 8 + .long 0 + .text + .hidden main ; -- Begin function main + .globl main + .p2align 2 + .type main,@function +main: ; @main +; %bb.0: + s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) + v_add_u32_e64 v1, v0, v0 + ; implicit-def: $sgpr4 + ; implicit-def: $sgpr4 + v_mul_lo_u32 v0, v1, v0 + v_sub_u32_e64 v0, v0, v1 + s_setpc_b64 s[30:31] +.Lfunc_end0: + .size main, .Lfunc_end0-main + ; -- End function + .section .AMDGPU.csdata +; Function info: +; codeLenInByte = 32 +; NumSgprs: 36 +; NumVgprs: 2 +; ScratchSize: 0 +; MemoryBound: 0 + .section ".note.GNU-stack" + .amd_amdgpu_isa "amdgcn-unknown---gfx900" diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O3.s b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O3.s new file mode 100644 --- /dev/null +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments-O3.s @@ -0,0 +1,36 @@ + .text + .section .AMDGPU.config + .long 47176 + .long 0 + .long 47180 + .long 0 + .long 47200 + .long 0 + .long 4 + .long 0 + .long 8 + .long 0 + .text + .hidden main ; -- Begin function main + .globl main + .p2align 2 + .type main,@function +main: ; @main +; %bb.0: + s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) + v_add_u32_e32 v1, v0, v0 + v_mul_lo_u32 v0, v1, v0 + v_sub_u32_e32 v0, v0, v1 + s_setpc_b64 s[30:31] +.Lfunc_end0: + .size main, .Lfunc_end0-main + ; -- End function + .section .AMDGPU.csdata +; Function info: +; codeLenInByte = 24 +; NumSgprs: 36 +; NumVgprs: 2 +; ScratchSize: 0 +; MemoryBound: 0 + .section ".note.GNU-stack" + .amd_amdgpu_isa "amdgcn-unknown---gfx900" diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll @@ -1,5 +1,7 @@ -; RUN: llc -O0 -mtriple=amdgcn- -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,GFX9-O0 %s -; RUN: llc -mtriple=amdgcn- -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,GFX9-O3 %s +; RUN: llc %S/amdgpu_no_merge_comments-O0.s | FileCheck -check-prefixes=GCN,GFX9-O0 %s +; RUN: llc %S/amdgpu_no_merge_comments-O3.s | FileCheck -check-prefixes=GCN,GFX9-O3 %s + +target triple = "amdgcn--" define hidden i32 @main(i32 %a) { %add = add i32 %a, %a diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected @@ -1,6 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -O0 -mtriple=amdgcn- -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,GFX9-O0 %s -; RUN: llc -mtriple=amdgcn- -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,GFX9-O3 %s +; RUN: llc %S/amdgpu_no_merge_comments-O0.s | FileCheck -check-prefixes=GCN,GFX9-O0 %s +; RUN: llc %S/amdgpu_no_merge_comments-O3.s | FileCheck -check-prefixes=GCN,GFX9-O3 %s + +target triple = "amdgcn--" define hidden i32 @main(i32 %a) { ; GFX9-O0-LABEL: main: diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test @@ -1,5 +1,6 @@ # REQUIRES: amdgpu-registered-target ## Check that functions with different IR comments in the output are not merged -# RUN: cp -f %S/Inputs/amdgpu_no_merge_comments.ll %t.ll && %update_llc_test_checks %t.ll +# RUN: cp -f %S/Inputs/amdgpu_no_merge_comments-O0.s %T/ && cp -f %S/Inputs/amdgpu_no_merge_comments-O3.s %T/ +# RUN: cp -f %S/Inputs/amdgpu_no_merge_comments.ll %t.ll && %update_llc_test_checks --llc-binary cat %t.ll # RUN: diff -u %S/Inputs/amdgpu_no_merge_comments.ll.expected %t.ll diff --git a/llvm/utils/update_llc_test_checks.py b/llvm/utils/update_llc_test_checks.py --- a/llvm/utils/update_llc_test_checks.py +++ b/llvm/utils/update_llc_test_checks.py @@ -88,8 +88,10 @@ common.warn('Skipping non-FileChecked RUN line: ' + l) continue + sourcedir = os.path.dirname(ti.path) + llc_cmd_args = llc_cmd[len(llc_tool):].strip() - llc_cmd_args = llc_cmd_args.replace('< %s', '').replace('%s', '').strip() + llc_cmd_args = llc_cmd_args.replace('< %s', '').replace('%s', '').replace('%S', sourcedir).strip() if ti.path.endswith('.mir'): llc_cmd_args += ' -x mir' check_prefixes = [item for m in common.CHECK_PREFIX_RE.finditer(filecheck_cmd)