mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
f907a26bc2
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225302 91177308-0d34-0410-b5e6-96231b3b80d8
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
|