diff options
| author | Martin Storsjo <martin@martin.st> | 2018-07-25 18:35:42 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2018-07-25 18:35:42 +0000 |
| commit | ff33a95ed44b9c146d3b58517717a4163b479b02 (patch) | |
| tree | 1a5ce9e0ec6d53b7fcd6bd3739919d19d432c4a5 /llvm/test/CodeGen | |
| parent | d2662c32fbb8ded38cd48fea954aea66864eb37d (diff) | |
| download | bcm5719-llvm-ff33a95ed44b9c146d3b58517717a4163b479b02.tar.gz bcm5719-llvm-ff33a95ed44b9c146d3b58517717a4163b479b02.zip | |
[COFF] Use comdat shared constants for MinGW as well
GNU binutils tools have no problems with this kind of shared constants,
provided that we actually hook it up completely in AsmPrinter and
produce a global symbol.
This effectively reverts SVN r335918 by hooking the rest of it up
properly.
This feature was implemented originally in SVN r213006, with no reason
for why it can't be used for MinGW other than the fact that GCC doesn't
do it while MSVC does.
Differential Revision: https://reviews.llvm.org/D49646
llvm-svn: 337951
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/win_cst_pool.ll | 11 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/win_cst_pool.ll | 10 |
2 files changed, 2 insertions, 19 deletions
diff --git a/llvm/test/CodeGen/AArch64/win_cst_pool.ll b/llvm/test/CodeGen/AArch64/win_cst_pool.ll index 5bcc9194c79..9e78702980c 100644 --- a/llvm/test/CodeGen/AArch64/win_cst_pool.ll +++ b/llvm/test/CodeGen/AArch64/win_cst_pool.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -mtriple=aarch64-win32-msvc | FileCheck %s -; RUN: llc < %s -mtriple=aarch64-win32-gnu | FileCheck -check-prefix=MINGW %s +; RUN: llc < %s -mtriple=aarch64-win32-gnu | FileCheck %s define double @double() { ret double 0x0000000000800000 @@ -13,12 +13,3 @@ define double @double() { ; CHECK: adrp x8, __real@0000000000800000 ; CHECK-NEXT: ldr d0, [x8, __real@0000000000800000] ; CHECK-NEXT: ret - -; MINGW: .section .rdata,"dr" -; MINGW-NEXT: .p2align 3 -; MINGW-NEXT: [[LABEL:\.LC.*]]: -; MINGW-NEXT: .xword 8388608 -; MINGW: double: -; MINGW: adrp x8, [[LABEL]] -; MINGW-NEXT: ldr d0, [x8, [[LABEL]]] -; MINGW-NEXT: ret diff --git a/llvm/test/CodeGen/X86/win_cst_pool.ll b/llvm/test/CodeGen/X86/win_cst_pool.ll index cf0aa9bccd9..30762e9621d 100644 --- a/llvm/test/CodeGen/X86/win_cst_pool.ll +++ b/llvm/test/CodeGen/X86/win_cst_pool.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -mtriple=x86_64-win32 -mattr=sse2 -mattr=avx | FileCheck %s -; RUN: llc < %s -mtriple=x86_64-win32-gnu -mattr=sse2 -mattr=avx | FileCheck -check-prefix=MINGW %s +; RUN: llc < %s -mtriple=x86_64-win32-gnu -mattr=sse2 -mattr=avx | FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc" @@ -15,14 +15,6 @@ define double @double() { ; CHECK: movsd __real@0000000000800000(%rip), %xmm0 ; CHECK-NEXT: ret -; MINGW: .section .rdata,"dr" -; MINGW-NEXT: .p2align 3 -; MINGW-NEXT: [[LABEL:\.LC.*]]: -; MINGW-NEXT: .quad 8388608 -; MINGW: double: -; MINGW: movsd [[LABEL]](%rip), %xmm0 -; MINGW-NEXT: ret - define <4 x i32> @vec1() { ret <4 x i32> <i32 3, i32 2, i32 1, i32 0> } |

