mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
20dc6c7571
In order to make comdats always explicit in the IR, we decided to make the syntax a bit more compact for the case of a GlobalObject in a comdat with the same name. Just dropping the $name causes problems for @foo = globabl i32 0, comdat $bar = comdat ... and declare void @foo() comdat $bar = comdat ... So the syntax is changed to @g1 = globabl i32 0, comdat($c1) @g2 = globabl i32 0, comdat and declare void @foo() comdat($c1) declare void @foo() comdat llvm-svn: 225302
15 lines
695 B
LLVM
15 lines
695 B
LLVM
; This test checks that we instrument regular globals, but do not touch
|
|
; the COMDAT ones.
|
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
|
target datalayout = "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32"
|
|
target triple = "i686-pc-windows-msvc"
|
|
; no action should be taken for these globals
|
|
$global_noinst = comdat largest
|
|
@aliasee = private unnamed_addr constant [2 x i8] [i8 1, i8 2], comdat($global_noinst)
|
|
@global_noinst = unnamed_addr alias [2 x i8]* @aliasee
|
|
; CHECK-NOT: {{asan_gen.*global_noinst}}
|
|
; CHECK-DAG: @global_noinst = unnamed_addr alias [2 x i8]* @aliasee
|
|
@global_inst = private constant [2 x i8] [i8 1, i8 2]
|
|
; CHECK-DAG: {{asan_gen.*global_inst}}
|
|
; CHECK: @asan.module_ctor
|