Index: clang/test/utils/update_cc_test_checks/Inputs/annotation-id.c =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/Inputs/annotation-id.c @@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -ftrivial-auto-var-init=zero -triple=x86_64-unknown-linux-gnu -O1 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s + +void foo_ptr_to_scalar() { + unsigned long long* a[100]; +} Index: clang/test/utils/update_cc_test_checks/Inputs/nosanitize-id.c =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/Inputs/nosanitize-id.c @@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -fsanitize=shift-exponent,shift-base -triple=x86_64-unknown-linux-gnu -O1 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s + +void foo(int* c, int* shamt) { + *c = 1 << (*c << *shamt); +} Index: clang/test/utils/update_cc_test_checks/Inputs/srcloc-id.c =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/Inputs/srcloc-id.c @@ -0,0 +1,6 @@ +// RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -O1 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s +__attribute__((error("oh no"))) void foo(void); + +void bar(void) { + foo(); +} Index: clang/test/utils/update_cc_test_checks/Inputs/tbaa-id.c =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/Inputs/tbaa-id.c @@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -triple=x86_64-unknown-linux-gnu -O1 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s + +void foo(unsigned **ptr) { + *ptr = 0; +} Index: clang/test/utils/update_cc_test_checks/Inputs/tbaa-struct-id.c =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/Inputs/tbaa-struct-id.c @@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -flegacy-pass-manager -triple arm64-apple-iphoneos -Oz -mllvm -enable-constraint-elimination=true -fpass-by-value-is-noalias -emit-llvm -o - %s | FileCheck %s + +typedef struct { + void *a; + void *b; + void *c; + void *d; + void *e; +} Foo; + +static void bar(Foo f) { + if (f.b) + __builtin_trap(); +} + +static int baz(Foo f) { + bar(f); + return *(int *)f.a; +} + +int barbar(Foo arg) { + int a, b; + a = baz(arg); + return a - b; +} Index: clang/test/utils/update_cc_test_checks/annotation-id.test =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/annotation-id.test @@ -0,0 +1,4 @@ +# RUN: cp -f %S/Inputs/annotation-id.c %t.c +# RUN: %update_cc_test_checks %t.c +# RUN: not grep "!annotation ![0-9]" %t.c +# RUN: grep "!annotation \[\[ANNT[0-9]\+:!\[0-9\]+\]\]" %t.c Index: clang/test/utils/update_cc_test_checks/nosanitize-id.test =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/nosanitize-id.test @@ -0,0 +1,4 @@ +# RUN: cp -f %S/Inputs/nosanitize-id.c %t.c +# RUN: %update_cc_test_checks %t.c +# RUN: not grep "!nosanitize ![0-9]" %t.c +# RUN: grep "!nosanitize \[\[NOSAN[0-9]\+:!\[0-9\]+\]\]" %t.c Index: clang/test/utils/update_cc_test_checks/srcloc-id.test =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/srcloc-id.test @@ -0,0 +1,4 @@ +# RUN: cp -f %S/Inputs/srcloc-id.c %t.c +# RUN: %update_cc_test_checks %t.c +# RUN: not grep "!srcloc ![0-9]" %t.c +# RUN: grep "!srcloc \[\[SRCLOC[0-9]\+:!\[0-9\]+\]\]" %t.c Index: clang/test/utils/update_cc_test_checks/tbaa-id.test =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/tbaa-id.test @@ -0,0 +1,4 @@ +# RUN: cp -f %S/Inputs/tbaa-id.c %t.c +# RUN: %update_cc_test_checks %t.c +# RUN: not grep "!tbaa ![0-9]" %t.c +# RUN: grep "!tbaa \[\[TBAA[0-9]\+:!\[0-9\]+\]\]" %t.c Index: clang/test/utils/update_cc_test_checks/tbaa-struct-id.test =================================================================== --- /dev/null +++ clang/test/utils/update_cc_test_checks/tbaa-struct-id.test @@ -0,0 +1,4 @@ +# RUN: cp -f %S/Inputs/tbaa-struct-id.c %t.c +# RUN: %update_cc_test_checks %t.c +# RUN: not grep "!tbaa\.struct ![0-9]" %t.c +# RUN: grep "!tbaa\.struct \[\[TBAAST[0-9]\+:!\[0-9\]+\]\]" %t.c Index: llvm/utils/UpdateTestChecks/common.py =================================================================== --- llvm/utils/UpdateTestChecks/common.py +++ llvm/utils/UpdateTestChecks/common.py @@ -601,11 +601,15 @@ NamelessValue(r'GLOB' , '@' , None , r'@' , r'[a-zA-Z0-9_$"\\.-]+' , None , r'.+' , True) , NamelessValue(r'DBG' , '!' , r'!dbg ' , None , None , r'![0-9]+' , None , False) , NamelessValue(r'PROF' , '!' , r'!prof ' , None , None , r'![0-9]+' , None , False) , - NamelessValue(r'TBAA' , '!' , r'!tbaa ' , None , None , r'![0-9]+' , None , False) , NamelessValue(r'RNG' , '!' , r'!range ' , None , None , r'![0-9]+' , None , False) , NamelessValue(r'LOOP' , '!' , r'!llvm.loop ' , None , None , r'![0-9]+' , None , False) , NamelessValue(r'META' , '!' , r'metadata ' , None , None , r'![0-9]+' , None , False) , NamelessValue(r'META' , '!' , None , r'' , r'![0-9]+' , None , r'(?:distinct |)!.*' , False) , + NamelessValue(r'TBAA' , '!' , r'!tbaa ' , None , None , r'![0-9]+' , None , False) , + NamelessValue(r'TBAAST' , '!' , r'!tbaa.struct ', None , None , r'![0-9]+' , None , False) , + NamelessValue(r'ANNT' , '!' , r'!annotation ' , None , None , r'![0-9]+' , None , False) , + NamelessValue(r'SRCLOC' , '!' , r'!srcloc ' , None , None , r'![0-9]+' , None , False) , + NamelessValue(r'NOSAN' , '!' , r'!nosanitize ' , None , None , r'![0-9]+' , None , False) , ] def createOrRegexp(old, new):