diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-05-16 13:02:18 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-05-16 13:02:18 +0000 |
commit | 21cfedee056a1e0789bbe6cafa23549d0ff16f24 (patch) | |
tree | ec91a01c03827b063b817116a403ec039408b40d /test/CodeGen/AArch64 | |
parent | 2b3ef615cab1134cda3c41d448b470124705d734 (diff) | |
download | llvm-21cfedee056a1e0789bbe6cafa23549d0ff16f24.tar.gz llvm-21cfedee056a1e0789bbe6cafa23549d0ff16f24.tar.bz2 llvm-21cfedee056a1e0789bbe6cafa23549d0ff16f24.tar.xz |
Revert "Implement global merge optimization for global variables."
This reverts commit r208934.
The patch depends on aliases to GEPs with non zero offsets. That is not
supported and fairly broken.
The good news is that GlobalAlias is being redesigned and will have support
for offsets, so this patch should be a nice match for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208978 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/AArch64')
-rw-r--r-- | test/CodeGen/AArch64/global-merge.ll | 34 | ||||
-rw-r--r-- | test/CodeGen/AArch64/global_merge_1.ll | 17 |
2 files changed, 17 insertions, 34 deletions
diff --git a/test/CodeGen/AArch64/global-merge.ll b/test/CodeGen/AArch64/global-merge.ll deleted file mode 100644 index 101a5b778e..0000000000 --- a/test/CodeGen/AArch64/global-merge.ll +++ /dev/null @@ -1,34 +0,0 @@ -; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -O0 | FileCheck --check-prefix=NO-MERGE %s -; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -O0 -global-merge-on-external=true -global-merge-aligned=true | FileCheck --check-prefix=NO-MERGE %s - -; RUN: llc < %s -mtriple=arm64-apple-ios -O0 | FileCheck %s --check-prefix=CHECK-APPLE-IOS-NO-MERGE -; RUN: llc < %s -mtriple=arm64-apple-ios -O0 -global-merge-on-external=true -global-merge-aligned=false | FileCheck %s --check-prefix=CHECK-APPLE-IOS-NO-MERGE - -; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -O1 | FileCheck %s -; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -O1 -global-merge-on-external=true -global-merge-aligned=true | FileCheck %s - -; RUN: llc < %s -mtriple=arm64-apple-ios -O1 | FileCheck %s --check-prefix=CHECK-APPLE-IOS -; RUN: llc < %s -mtriple=arm64-apple-ios -O1 -global-merge-on-external=true -global-merge-aligned=false | FileCheck %s --check-prefix=CHECK-APPLE-IOS - -@m = internal global i32 0, align 4 -@n = internal global i32 0, align 4 - -define void @f1(i32 %a1, i32 %a2) { -; CHECK-LABEL: f1: -; CHECK: adrp x{{[0-9]+}}, _MergedGlobals -; CHECK-NOT: adrp - -; CHECK-APPLE-IOS-LABEL: f1: -; CHECK-APPLE-IOS: adrp x{{[0-9]+}}, __MergedGlobals -; CHECK-APPLE-IOS-NOT: adrp - store i32 %a1, i32* @m, align 4 - store i32 %a2, i32* @n, align 4 - ret void -} - -; CHECK: .local _MergedGlobals -; CHECK: .comm _MergedGlobals,8,8 -; NO-MERGE-NOT: .local _MergedGlobals - -; CHECK-APPLE-IOS: .zerofill __DATA,__bss,__MergedGlobals,8,3 -; CHECK-APPLE-IOS-NO-MERGE-NOT: .zerofill __DATA,__bss,__MergedGlobals,8,3 diff --git a/test/CodeGen/AArch64/global_merge_1.ll b/test/CodeGen/AArch64/global_merge_1.ll new file mode 100644 index 0000000000..e0587d6b90 --- /dev/null +++ b/test/CodeGen/AArch64/global_merge_1.ll @@ -0,0 +1,17 @@ +; RUN: llc < %s -mtriple=aarch64-none-linux-gnu | FileCheck %s + +@m = internal global i32 0, align 4 +@n = internal global i32 0, align 4 + +define void @f1(i32 %a1, i32 %a2) { +; CHECK-LABEL: f1: +; CHECK: adrp x{{[0-9]+}}, _MergedGlobals +; CHECK-NOT: adrp + store i32 %a1, i32* @m, align 4 + store i32 %a2, i32* @n, align 4 + ret void +} + +; CHECK: .local _MergedGlobals +; CHECK: .comm _MergedGlobals,8,8 + |