19692811bSAlex Richardson; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature 29692811bSAlex Richardson; Test that update_test_checks.py can run pre-processing commands. 3*40760060SBjorn Pettersson; RUN: opt < %s -passes=instsimplify -S | FileCheck %s --check-prefix=CHECK-AS200 49692811bSAlex Richardson; RUN: sed -e 's/addrspace(200)/addrspace(0)/g' -e 's/-A200-P200-G200//g' %s \ 5*40760060SBjorn Pettersson; RUN: | opt -passes=instsimplify -S | FileCheck %s --check-prefix=CHECK-AS0 69692811bSAlex Richardson; Check that multiple pre-processing commands are handled 79692811bSAlex Richardson; RUN: sed 's/addrspace(200)/addrspace(1)/g' %s | sed 's/-A1-P1-G1//g' \ 8*40760060SBjorn Pettersson; RUN: | opt -passes=instsimplify -S | FileCheck %s --check-prefix=CHECK-AS1 99692811bSAlex Richardson; More than two commands should also be fine 10*40760060SBjorn Pettersson; RUN: cat %s | cat | cat | cat | opt < %s -passes=instsimplify -S \ 119692811bSAlex Richardson; RUN: | FileCheck %s --check-prefix=CHECK-AS200-NOOP-PRE-PROCESS 129692811bSAlex Richardson 139692811bSAlex Richardsontarget datalayout = "e-m:e-p200:128:128:128:64-p:64:64-A200-P200-G200" 149692811bSAlex Richardson 159692811bSAlex Richardsondefine i8 addrspace(200)* @test_zerogep_in_different_as(i8 addrspace(200)* %arg) addrspace(200) nounwind { 169692811bSAlex Richardson; CHECK-AS200-LABEL: define {{[^@]+}}@test_zerogep_in_different_as 179692811bSAlex Richardson; CHECK-AS200-SAME: (i8 addrspace(200)* [[ARG:%.*]]) addrspace(200) #[[ATTR0:[0-9]+]] { 189692811bSAlex Richardson; CHECK-AS200-NEXT: entry: 199692811bSAlex Richardson; CHECK-AS200-NEXT: ret i8 addrspace(200)* [[ARG]] 209692811bSAlex Richardson; 219692811bSAlex Richardson; CHECK-AS0-LABEL: define {{[^@]+}}@test_zerogep_in_different_as 229692811bSAlex Richardson; CHECK-AS0-SAME: (i8* [[ARG:%.*]]) #[[ATTR0:[0-9]+]] { 239692811bSAlex Richardson; CHECK-AS0-NEXT: entry: 249692811bSAlex Richardson; CHECK-AS0-NEXT: ret i8* [[ARG]] 259692811bSAlex Richardson; 269692811bSAlex Richardson; CHECK-AS1-LABEL: define {{[^@]+}}@test_zerogep_in_different_as 279692811bSAlex Richardson; CHECK-AS1-SAME: (i8 addrspace(1)* [[ARG:%.*]]) addrspace(1) #[[ATTR0:[0-9]+]] { 289692811bSAlex Richardson; CHECK-AS1-NEXT: entry: 299692811bSAlex Richardson; CHECK-AS1-NEXT: ret i8 addrspace(1)* [[ARG]] 309692811bSAlex Richardson; 319692811bSAlex Richardson; CHECK-AS200-NOOP-PRE-PROCESS-LABEL: define {{[^@]+}}@test_zerogep_in_different_as 329692811bSAlex Richardson; CHECK-AS200-NOOP-PRE-PROCESS-SAME: (i8 addrspace(200)* [[ARG:%.*]]) addrspace(200) #[[ATTR0:[0-9]+]] { 339692811bSAlex Richardson; CHECK-AS200-NOOP-PRE-PROCESS-NEXT: entry: 349692811bSAlex Richardson; CHECK-AS200-NOOP-PRE-PROCESS-NEXT: ret i8 addrspace(200)* [[ARG]] 359692811bSAlex Richardson; 369692811bSAlex Richardsonentry: 379692811bSAlex Richardson %ret = getelementptr inbounds i8, i8 addrspace(200)* %arg, i64 0 389692811bSAlex Richardson ret i8 addrspace(200)* %ret 399692811bSAlex Richardson} 40