[llvm] r283808 - GlobalISel: allow G_GLOBAL_VALUEs in AArch64 legalization.

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 10 14:49:53 PDT 2016


Author: tnorthover
Date: Mon Oct 10 16:49:53 2016
New Revision: 283808

URL: http://llvm.org/viewvc/llvm-project?rev=283808&view=rev
Log:
GlobalISel: allow G_GLOBAL_VALUEs in AArch64 legalization.

Modified:
    llvm/trunk/lib/Target/AArch64/AArch64MachineLegalizer.cpp
    llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir

Modified: llvm/trunk/lib/Target/AArch64/AArch64MachineLegalizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64MachineLegalizer.cpp?rev=283808&r1=283807&r2=283808&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64MachineLegalizer.cpp (original)
+++ llvm/trunk/lib/Target/AArch64/AArch64MachineLegalizer.cpp Mon Oct 10 16:49:53 2016
@@ -168,6 +168,7 @@ AArch64MachineLegalizer::AArch64MachineL
 
   // Pointer-handling
   setAction({G_FRAME_INDEX, p0}, Legal);
+  setAction({G_GLOBAL_VALUE, p0}, Legal);
 
   setAction({G_PTRTOINT, 0, s64}, Legal);
   setAction({G_PTRTOINT, 1, p0}, Legal);

Modified: llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir?rev=283808&r1=283807&r2=283808&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir (original)
+++ llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir Mon Oct 10 16:49:53 2016
@@ -11,6 +11,8 @@
   entry:
     ret void
   }
+  @var = global i8 0
+  define i8* @test_global() { ret i8* undef }
 ...
 
 ---
@@ -61,3 +63,15 @@ body: |
     %1(s64) = G_FCONSTANT double 2.0
     %2(s16) = G_FCONSTANT half 0.0
 ...
+
+---
+name:            test_global
+registers:
+  - { id: 0, class: _ }
+body: |
+  bb.0:
+    ; CHECK-LABEL: name: test_global
+    ; CHECK: %0(p0) = G_GLOBAL_VALUE @var
+
+    %0(p0) = G_GLOBAL_VALUE @var
+...




More information about the llvm-commits mailing list