aboutsummaryrefslogtreecommitdiffstats
path: root/patches/0003-Add-support-for-64-bit-longs.patch
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-04-23 16:57:46 -0700
committerStephen Hines <srhines@google.com>2014-04-24 15:53:16 -0700
commit36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch)
treee6cfb69fbbd937f450eeb83bfb83b9da3b01275a /patches/0003-Add-support-for-64-bit-longs.patch
parent69a8640022b04415ae9fac62f8ab090601d8f889 (diff)
downloadexternal_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'patches/0003-Add-support-for-64-bit-longs.patch')
-rw-r--r--patches/0003-Add-support-for-64-bit-longs.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/patches/0003-Add-support-for-64-bit-longs.patch b/patches/0003-Add-support-for-64-bit-longs.patch
new file mode 100644
index 0000000..e375914
--- /dev/null
+++ b/patches/0003-Add-support-for-64-bit-longs.patch
@@ -0,0 +1,56 @@
+From 37aee898ae3a8041aad2a7cc595b8a6cf7438b52 Mon Sep 17 00:00:00 2001
+From: Tim Murray <timmurray@google.com>
+Date: Thu, 3 Apr 2014 11:14:41 -0700
+Subject: [PATCH 3/5] Add support for 64-bit longs.
+
+Change-Id: I7d50c91b8324fa81c29595a8dc19f2180653a4f2
+---
+ lib/Target/ARM/ARM.td | 4 ++++
+ lib/Target/ARM/ARMSubtarget.cpp | 1 +
+ lib/Target/ARM/ARMSubtarget.h | 3 +++
+ 3 files changed, 8 insertions(+)
+
+diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td
+index 7916ccc..25385a6 100644
+--- a/lib/Target/ARM/ARM.td
++++ b/lib/Target/ARM/ARM.td
+@@ -267,6 +267,10 @@ def FeatureAPCS : SubtargetFeature<"apcs", "TargetABI", "ARM_ABI_APCS",
+ def FeatureAAPCS : SubtargetFeature<"aapcs", "TargetABI", "ARM_ABI_AAPCS",
+ "Use the AAPCS ABI">;
+
++// RenderScript-specific support for 64-bit long types on all targets
++def FeatureLong64 : SubtargetFeature<"long64", "UseLong64",
++ "true",
++ "long type is forced to be 64-bit">;
+
+ class ProcNoItin<string Name, list<SubtargetFeature> Features>
+ : Processor<Name, NoItineraries, Features>;
+diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp
+index 5222c1b..73e2018 100644
+--- a/lib/Target/ARM/ARMSubtarget.cpp
++++ b/lib/Target/ARM/ARMSubtarget.cpp
+@@ -139,6 +139,7 @@ void ARMSubtarget::initializeEnvironment() {
+ Thumb2DSP = false;
+ UseNaClTrap = false;
+ UnsafeFPMath = false;
++ UseLong64 = false;
+ }
+
+ void ARMSubtarget::resetSubtargetFeatures(const MachineFunction *MF) {
+diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
+index 804f238..3855419 100644
+--- a/lib/Target/ARM/ARMSubtarget.h
++++ b/lib/Target/ARM/ARMSubtarget.h
+@@ -197,6 +197,9 @@ protected:
+ /// NaCl TRAP instruction is generated instead of the regular TRAP.
+ bool UseNaClTrap;
+
++ /// Force long to be a 64-bit type (RenderScript-specific)
++ bool UseLong64;
++
+ /// Target machine allowed unsafe FP math (such as use of NEON fp)
+ bool UnsafeFPMath;
+
+--
+1.9.1.423.g4596e3a
+