mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 19:45:40 -04:00

Summary: If we insert them from function pass some analysis may be missing or invalid. Fixes PR42877. Reviewers: eugenis, leonardchan Reviewed By: leonardchan Subscribers: hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D68832 > llvm-svn: 374481 Signed-off-by: Vitaly Buka <vitalybuka@google.com> llvm-svn: 374527
23 lines
935 B
C
23 lines
935 B
C
// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=address -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
|
|
// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=thread -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
|
|
// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=memory -emit-llvm -O3 -fdebug-pass-manager -fexperimental-new-pass-manager -o - %s 2>&1 | FileCheck %s
|
|
|
|
// This is regression test for PR42877
|
|
|
|
typedef struct a *b;
|
|
struct a {
|
|
int c;
|
|
};
|
|
int d;
|
|
b e;
|
|
static void f(b g) {
|
|
for (d = g->c;;)
|
|
;
|
|
}
|
|
void h() { f(e); }
|
|
|
|
// CHECK: Running pass: {{.*}}SanitizerPass on {{.*}}sanitizer-module-constructor.c
|
|
// CHECK-NOT: Running pass: LoopSimplifyPass on {{.*}}san.module_ctor
|
|
// CHECK: Running analysis: DominatorTreeAnalysis on {{.*}}san.module_ctor
|
|
// CHECK: Running pass: LoopSimplifyPass on {{.*}}san.module_ctor
|