diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-06 22:55:16 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-01-06 22:55:16 +0000 |
| commit | 83a362cde8dda902ae516dbb1a721735a338abbb (patch) | |
| tree | 6e0316b50f28fe0ba8628ada534b2cf4017799db /llvm/test/CodeGen | |
| parent | ed844c4ad1e403aff4eae0799eeccd21a3a36c90 (diff) | |
| download | bcm5719-llvm-83a362cde8dda902ae516dbb1a721735a338abbb.tar.gz bcm5719-llvm-83a362cde8dda902ae516dbb1a721735a338abbb.zip | |
Change the .ll syntax for comdats and add a syntactic sugar.
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
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/X86/coff-comdat.ll | 34 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/coff-comdat2.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/coff-comdat3.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/elf-comdat.ll | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/elf-comdat2.ll | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/macho-comdat.ll | 2 |
6 files changed, 23 insertions, 23 deletions
diff --git a/llvm/test/CodeGen/X86/coff-comdat.ll b/llvm/test/CodeGen/X86/coff-comdat.ll index ac4546d3368..dcbbe1097d5 100644 --- a/llvm/test/CodeGen/X86/coff-comdat.ll +++ b/llvm/test/CodeGen/X86/coff-comdat.ll @@ -1,58 +1,58 @@ ; RUN: llc -mtriple i386-pc-win32 < %s | FileCheck %s $f1 = comdat any -@v1 = global i32 0, comdat $f1 -define void @f1() comdat $f1 { +@v1 = global i32 0, comdat($f1) +define void @f1() comdat($f1) { ret void } $f2 = comdat exactmatch -@v2 = global i32 0, comdat $f2 -define void @f2() comdat $f2 { +@v2 = global i32 0, comdat($f2) +define void @f2() comdat($f2) { ret void } $f3 = comdat largest -@v3 = global i32 0, comdat $f3 -define void @f3() comdat $f3 { +@v3 = global i32 0, comdat($f3) +define void @f3() comdat($f3) { ret void } $f4 = comdat noduplicates -@v4 = global i32 0, comdat $f4 -define void @f4() comdat $f4 { +@v4 = global i32 0, comdat($f4) +define void @f4() comdat($f4) { ret void } $f5 = comdat samesize -@v5 = global i32 0, comdat $f5 -define void @f5() comdat $f5 { +@v5 = global i32 0, comdat($f5) +define void @f5() comdat($f5) { ret void } $f6 = comdat samesize -@v6 = global i32 0, comdat $f6 -@f6 = global i32 0, comdat $f6 +@v6 = global i32 0, comdat($f6) +@f6 = global i32 0, comdat($f6) $"\01@f7@0" = comdat any -define x86_fastcallcc void @"\01@v7@0"() comdat $"\01@f7@0" { +define x86_fastcallcc void @"\01@v7@0"() comdat($"\01@f7@0") { ret void } -define x86_fastcallcc void @"\01@f7@0"() comdat $"\01@f7@0" { +define x86_fastcallcc void @"\01@f7@0"() comdat($"\01@f7@0") { ret void } $f8 = comdat any -define x86_fastcallcc void @v8() comdat $f8 { +define x86_fastcallcc void @v8() comdat($f8) { ret void } -define x86_fastcallcc void @f8() comdat $f8 { +define x86_fastcallcc void @f8() comdat($f8) { ret void } $vftable = comdat largest -@some_name = private unnamed_addr constant [2 x i8*] zeroinitializer, comdat $vftable +@some_name = private unnamed_addr constant [2 x i8*] zeroinitializer, comdat($vftable) @vftable = alias getelementptr([2 x i8*]* @some_name, i32 0, i32 1) ; CHECK: .section .text,"xr",discard,_f1 diff --git a/llvm/test/CodeGen/X86/coff-comdat2.ll b/llvm/test/CodeGen/X86/coff-comdat2.ll index 58bc04eea93..a417d096c47 100644 --- a/llvm/test/CodeGen/X86/coff-comdat2.ll +++ b/llvm/test/CodeGen/X86/coff-comdat2.ll @@ -5,5 +5,5 @@ target triple = "i686-pc-windows-msvc" $foo = comdat largest @foo = global i32 0 -@bar = global i32 0, comdat $foo +@bar = global i32 0, comdat($foo) ; CHECK: Associative COMDAT symbol 'foo' is not a key for its COMDAT. diff --git a/llvm/test/CodeGen/X86/coff-comdat3.ll b/llvm/test/CodeGen/X86/coff-comdat3.ll index 76e464b2754..01651ce4820 100644 --- a/llvm/test/CodeGen/X86/coff-comdat3.ll +++ b/llvm/test/CodeGen/X86/coff-comdat3.ll @@ -4,5 +4,5 @@ target datalayout = "e-m:w-p:32:32-i64:64-f80:32-n8:16:32-S32" target triple = "i686-pc-windows-msvc" $foo = comdat largest -@bar = global i32 0, comdat $foo +@bar = global i32 0, comdat($foo) ; CHECK: Associative COMDAT symbol 'foo' does not exist. diff --git a/llvm/test/CodeGen/X86/elf-comdat.ll b/llvm/test/CodeGen/X86/elf-comdat.ll index c7e6df7d64f..35d8d6f2d2a 100644 --- a/llvm/test/CodeGen/X86/elf-comdat.ll +++ b/llvm/test/CodeGen/X86/elf-comdat.ll @@ -1,8 +1,8 @@ ; RUN: llc -mtriple x86_64-pc-linux-gnu < %s | FileCheck %s $f = comdat any -@v = global i32 0, comdat $f -define void @f() comdat $f { +@v = global i32 0, comdat($f) +define void @f() comdat($f) { ret void } ; CHECK: .section .text.f,"axG",@progbits,f,comdat diff --git a/llvm/test/CodeGen/X86/elf-comdat2.ll b/llvm/test/CodeGen/X86/elf-comdat2.ll index 209da39ed88..786cec78cc3 100644 --- a/llvm/test/CodeGen/X86/elf-comdat2.ll +++ b/llvm/test/CodeGen/X86/elf-comdat2.ll @@ -1,7 +1,7 @@ ; RUN: llc -mtriple x86_64-pc-linux-gnu < %s | FileCheck %s $foo = comdat any -@bar = global i32 42, comdat $foo +@bar = global i32 42, comdat($foo) @foo = global i32 42 ; CHECK: .type bar,@object diff --git a/llvm/test/CodeGen/X86/macho-comdat.ll b/llvm/test/CodeGen/X86/macho-comdat.ll index 3c2d997b459..60560470ed5 100644 --- a/llvm/test/CodeGen/X86/macho-comdat.ll +++ b/llvm/test/CodeGen/X86/macho-comdat.ll @@ -2,5 +2,5 @@ ; RUN: FileCheck < %t %s $f = comdat any -@v = global i32 0, comdat $f +@v = global i32 0, comdat($f) ; CHECK: LLVM ERROR: MachO doesn't support COMDATs, 'f' cannot be lowered. |

