svn commit: r271029 - in head/contrib/llvm: lib/Target/ARM patches
Sean Bruno
sbruno at FreeBSD.org
Wed Sep 3 15:32:39 UTC 2014
Author: sbruno
Date: Wed Sep 3 15:32:38 2014
New Revision: 271029
URL: http://svnweb.freebsd.org/changeset/base/271029
Log:
Do not direct commit to contrib/llvm. Make the change a patch file instead.
Reverts 271025 but still functionally patches it. Original intent is still
the same. Pointed out by rdivacky.
MFV: Only emit movw on ARMv6T2
Building for the FreeBSD default target ARMv6 was emitting movw ASM on certain
test cases (found building qmake4/5 for ARM). Don't do that, moreover, the AS
in base doesn't understand this instruction for this target. One would need
to use --integrated-as to get this to build if desired.
http://llvm.org/viewvc/llvm-project?view=revision&revision=216989
Submitted by: ian
Reviewed by: dim
Obtained from: llvm.org
MFC after: 2 days
Relnotes: yes
Added:
head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
Modified:
head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
Modified: head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td
==============================================================================
--- head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td Wed Sep 3 15:08:33 2014 (r271028)
+++ head/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td Wed Sep 3 15:32:38 2014 (r271029)
@@ -3248,8 +3248,7 @@ def : ARMPat<(ARMaddc GPR:$src, imm0_655
def : ARMPat<(ARMadde GPR:$src, so_imm_not:$imm, CPSR),
(SBCri GPR:$src, so_imm_not:$imm)>;
def : ARMPat<(ARMadde GPR:$src, imm0_65535_neg:$imm, CPSR),
- (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>,
- Requires<[IsARM, HasV6T2]>;
+ (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>;
// Note: These are implemented in C++ code, because they have to generate
// ADD/SUBrs instructions, which use a complex pattern that a xform function
Added: head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/contrib/llvm/patches/patch-r271024-llvm-r216989-fix-movm-armv6.diff Wed Sep 3 15:32:38 2014 (r271029)
@@ -0,0 +1,14 @@
+Index: lib/Target/ARM/ARMInstrInfo.td
+===================================================================
+--- lib/Target/ARM/ARMInstrInfo.td (revision 271024)
++++ lib/Target/ARM/ARMInstrInfo.td (revision 271026)
+@@ -3248,7 +3248,8 @@
+ def : ARMPat<(ARMadde GPR:$src, so_imm_not:$imm, CPSR),
+ (SBCri GPR:$src, so_imm_not:$imm)>;
+ def : ARMPat<(ARMadde GPR:$src, imm0_65535_neg:$imm, CPSR),
+- (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>;
++ (SBCrr GPR:$src, (MOVi16 (imm_not_XFORM imm:$imm)))>,
++ Requires<[IsARM, HasV6T2]>;
+
+ // Note: These are implemented in C++ code, because they have to generate
+ // ADD/SUBrs instructions, which use a complex pattern that a xform function
More information about the svn-src-head
mailing list