Chris Lattner
|
2ac190238e
|
add fields to the .td files unconditionally, simplifying tblgen a bit.
Switch the ARM backend to use 'let' instead of 'set' with this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119120 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-15 05:19:05 +00:00 |
|
Evan Cheng
|
fbc8c67992
|
Make sure ARM multi load / store pass copies memoperands when forming ldrd / strd. pr8113.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119109 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-15 03:30:30 +00:00 |
|
Chris Lattner
|
65a0adb597
|
silence a ton of warnings from clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119102 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-15 01:45:44 +00:00 |
|
Anton Korobeynikov
|
a460e4a142
|
Attempt to unbreak cmake-based builds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119098 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-15 00:48:12 +00:00 |
|
Anton Korobeynikov
|
3346491223
|
First step of huge frame-related refactoring: move emit{Prologue,Epilogue} out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119097 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-15 00:06:54 +00:00 |
|
Chris Lattner
|
77ec256be6
|
trim #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119075 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 21:16:04 +00:00 |
|
Chris Lattner
|
30e2cc254b
|
rename LowerToMCInst -> LowerARMMachineInstrToMCInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119071 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 21:00:02 +00:00 |
|
Chris Lattner
|
1612a619f1
|
even more simplifications. ARM MCInstLowering is now just
a single function instead of a class. It doesn't need the
complexity that X86 does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119070 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 20:58:38 +00:00 |
|
Chris Lattner
|
b16ddb1fb3
|
more shrinkification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119068 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 20:41:53 +00:00 |
|
Chris Lattner
|
de36af4c15
|
more simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119067 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 20:40:08 +00:00 |
|
Chris Lattner
|
112f2390e1
|
simplify and tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119066 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 20:31:06 +00:00 |
|
Chris Lattner
|
60d5b5fdee
|
stub out a powerpc MCInstPrinter implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119059 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 19:40:38 +00:00 |
|
Owen Anderson
|
83da6cd5e2
|
Second attempt at providing correct encodings for Thumb2 binary operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119029 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-14 05:37:38 +00:00 |
|
Bill Wendling
|
c93989a060
|
Comment out the defms until they're activated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119000 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 11:20:05 +00:00 |
|
Bill Wendling
|
ddc918b379
|
Add uses of the *_ldst_multi multiclasses. These aren't used yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118999 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 10:57:02 +00:00 |
|
Bill Wendling
|
1f4abcfa5c
|
Convert the modes to lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118998 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 10:43:34 +00:00 |
|
Bill Wendling
|
04863d06fb
|
Minor cleanups:
- Get the opcode once.
- Add a ParserMatchClass to reglist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118997 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 10:40:19 +00:00 |
|
Bill Wendling
|
6c470b806f
|
Add *_ldst_mult multiclasses to the ARM back-end. These will be used in the
future to separate out the ia, ib, da, db variants of the load/store multiple
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118995 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 09:09:38 +00:00 |
|
Daniel Dunbar
|
115a3dd066
|
MC: Simplify Mach-O and ELF object writer implementations.
- What was I thinking?????
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 07:33:40 +00:00 |
|
Evan Cheng
|
c47f7d643e
|
Conditional moves are slightly more expensive than moves.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118985 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 05:14:20 +00:00 |
|
Evan Cheng
|
63f3544a7f
|
Add conditional move of large immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118968 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 02:25:14 +00:00 |
|
Jim Grosbach
|
df7e0f8d5d
|
Swap multiclass operand order for consistency with other patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118965 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 01:28:30 +00:00 |
|
Jim Grosbach
|
0f6e33b0c8
|
Continue ARM indexed load refactoring. Multiclass for LDR{B} pre/post indexed
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118963 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 01:07:20 +00:00 |
|
Jim Grosbach
|
9e0bfb5829
|
More ARM load/store indexed refactoring. Also fix an incorrect IndexMode
flag for the LDRT/STRT family instructions as a side effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118955 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 00:35:48 +00:00 |
|
Evan Cheng
|
e5e0ef180e
|
Fix an obvious typo which inverted an immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118951 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-13 00:27:47 +00:00 |
|
Eric Christopher
|
84e86c0156
|
Temporarily revert this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118946 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 23:50:48 +00:00 |
|
Evan Cheng
|
11c11f8ab0
|
For pre-v6t2 targets, only select MOVi32imm if the immediate can be handled with movi + orr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118945 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 23:46:13 +00:00 |
|
Owen Anderson
|
b9a643e2cd
|
Revert r118939 while I work out why it broke some buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118942 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 23:36:03 +00:00 |
|
Owen Anderson
|
7a6b810dcb
|
Attemt to provide correct encodings for Thumb2 binary operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118939 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 23:18:11 +00:00 |
|
Evan Cheng
|
893d7fe209
|
Eliminate ARM::MOVi2pieces. Just use MOVi32imm and expand it to either movi+orr or movw+movt depending on the subtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118938 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 23:03:38 +00:00 |
|
Eric Christopher
|
c0394c0b8c
|
Make this happen for ARM like x86. Don't entirely bail out when
an address is in a different block, get it into a register and go
from there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118936 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 22:52:32 +00:00 |
|
Evan Cheng
|
875a6ac09a
|
Add conditional mvn instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118935 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 22:42:47 +00:00 |
|
Jim Grosbach
|
e1634e9351
|
Zap a copy/paste-o bit of dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118926 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 21:29:10 +00:00 |
|
Jim Grosbach
|
2716e25c2c
|
Refactor to parameterize some ARM load/store encoding patterns. Preparatory
to splitting the load/store pre/post indexed instructions into [r, r] and
[r, imm] forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118925 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 21:28:15 +00:00 |
|
Owen Anderson
|
5de6d841a5
|
First stab at providing correct Thumb2 encodings, start with adc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118924 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 21:12:40 +00:00 |
|
Evan Cheng
|
529916ca4a
|
Add some missing isel predicates on def : pat patterns to avoid generating VFP vmla / vmls (they cause stalls). Disabling them in isel is properly not a right solution, I'll look into a proper solution next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118922 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 20:32:20 +00:00 |
|
Jim Grosbach
|
b39e6488ee
|
Kill more unused stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118921 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 19:27:45 +00:00 |
|
Jim Grosbach
|
a0a6a47c02
|
Remove unused class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118919 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 19:24:53 +00:00 |
|
Jim Grosbach
|
d75c3f136b
|
Fill in the default predication bits for ARM unconditional branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118907 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 18:13:26 +00:00 |
|
Jim Grosbach
|
80f9e6724f
|
Encoding for ARM LDRSB instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118905 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 17:52:59 +00:00 |
|
Eric Christopher
|
d0c82a683e
|
Fix up a few more spots of addrmode2 (or not) changes that were
missed. Update some comments accordingly.
Fixes rdar://8652289
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118888 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-12 09:48:30 +00:00 |
|
Jim Grosbach
|
e50e6bcd90
|
Start of support for binary emit of 16-it Thumb instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118859 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 23:41:09 +00:00 |
|
Owen Anderson
|
8f14391314
|
Fill out support for Thumb2 encodings of NEON instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118854 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 23:12:55 +00:00 |
|
Owen Anderson
|
57dac88f77
|
Add correct Thumb2 encodings for NEON vst[1,2,3,4] and vld[1,2,3,4].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118843 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 21:36:43 +00:00 |
|
Eric Christopher
|
79ab2fe01a
|
Revert the accidental commit I made reverting the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118835 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 20:50:14 +00:00 |
|
Jim Grosbach
|
d1d5a39cad
|
ARM fixup encoding for direct call instructions (BL).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118829 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 20:05:40 +00:00 |
|
Eric Christopher
|
6c50119ba3
|
Revert this temporarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118827 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 19:47:02 +00:00 |
|
Eric Christopher
|
391f228e7e
|
Change the prologue and epilogue to use push/pop for the low ARM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118823 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 19:26:03 +00:00 |
|
Owen Anderson
|
c7139a6f0d
|
Add support for Thumb2 encodings of NEON data processing instructions, using the new PostEncoderMethod infrastructure.
More tests to come.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118819 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 19:07:48 +00:00 |
|
Jim Grosbach
|
c466b937db
|
Encoding of destination fixup for ARM branch and conditional branch
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118801 91177308-0d34-0410-b5e6-96231b3b80d8
|
2010-11-11 18:04:49 +00:00 |
|