e757640df0615510dbc42921cf6271aa76c405ee |
|
06-Sep-2012 |
Nadav Rotem <nrotem@apple.com> |
Fix a few old-GCC warnings. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c4dc2490c4ea2c75e451eec5950179f06d2610a2 |
|
29-Aug-2012 |
Jush Lu <jush.msn@gmail.com> |
[arm-fast-isel] Add support for ARM PIC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0745b649ed5c362f1c2f7db59254a76041ddef05 |
|
24-Aug-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Fix call instruction operands in ARMFastISel. The ARM BL and BLX instructions don't have predicate operands, but the thumb variants tBL and tBLX do. The argument registers should be added as implicit uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
35fc62bf70074349d74357900dd65f08384970c5 |
|
18-Aug-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove virtual from many methods. These methods replace methods in the base class, but the base class methods aren't virtual so it just increased call overhead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162178 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2ff4e9d5afa2074b91940a601fba0a0c154f6a83 |
|
16-Aug-2012 |
Jush Lu <jush.msn@gmail.com> |
[arm-fast-isel] Add support for fastcc. Without fastcc support, the caller just falls through to CallingConv::C for fastcc, but callee still uses fastcc, this inconsistency of calling convention is a problem, and fastcc support can fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d49edb7ab098fa0c82f59efbcf1b4eb2958f8dc3 |
|
03-Aug-2012 |
Bob Wilson <bob.wilson@apple.com> |
Fall back to selection DAG isel for calls to builtin functions. Fast isel doesn't currently have support for translating builtin function calls to target instructions. For embedded environments where the library functions are not available, this is a matter of correctness and not just optimization. Most of this patch is just arranging to make the TargetLibraryInfo available in fast isel. <rdar://problem/12008746> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2946549a2817681f9117662139cc0f2241939965 |
|
03-Aug-2012 |
Jush Lu <jush.msn@gmail.com> |
[arm-fast-isel] Add support for shl, lshr, and ashr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e94ac8871a1ac79bece57335d2abece0feed9c02 |
|
03-Aug-2012 |
Eric Christopher <echristo@apple.com> |
Add support for the ARM GHC calling convention, this patch was in 3.0, but somehow managed to be dropped later. Patch by Karel Gardas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ee649839a243bb29b59b322203b982b2f132e7c5 |
|
19-Jul-2012 |
Jush Lu <jush.msn@gmail.com> |
[arm-fast-isel] Add support for vararg function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bd985efa99b7540e664b7fc2d636348c23f63d75 |
|
06-Jul-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Revert r159804, "[arm-fast-isel] Add support for vararg function calls." It broke LLVM :: CodeGen/Thumb2/large-call.ll on several hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a8c4d739f2e763ae6dea7661a3af8393eeebd8ba |
|
06-Jul-2012 |
Jush Lu <jush.msn@gmail.com> |
[arm-fast-isel] Add support for vararg function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
efc967e04459753a588ebf5820e526d790fe1cfa |
|
14-Jun-2012 |
Jush Lu <jush.msn@gmail.com> |
Cleanup whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
49d6fc02efc45932e4d889fa56bbbfeefafbdc85 |
|
12-Jun-2012 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Add support for -arm-long-calls. Patch by Jush Lu <jush.msn@gmail.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ad5c8808923ed5b24b586cec544e45cee539e529 |
|
11-Jun-2012 |
Bill Wendling <isanbard@gmail.com> |
Re-enable the CMN instruction. We turned off the CMN instruction because it had semantics which we weren't getting correct. If we are comparing with an immediate, then it's okay to use the CMN instruction. <rdar://problem/7569620> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158302 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bbff4ee92d91de4c7ee6657a1eea95c5ed8105de |
|
01-Jun-2012 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Fix handling of the frameaddress intrinsic. If depth is 0 then DestReg is undefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ada759d5fa8a3ecc0e97d88761badfba9193587f |
|
30-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Add support for the llvm.frameaddress() intrinsic. Patch by Jush Lu <jush.msn@gmail.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1c8fccbc12e6348c8003aff9b89078324257fc4e |
|
23-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Add support for non-global callee. Patch by Jush Lu <jush.msn@gmail.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
226ddf5278dd9a9d2d74d859d387bf5b6bac1926 |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for selecting @llvm.trap(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156646 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2b3b335f2d2886bbffa005998972de689a9f3e21 |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Remove -disable-arm-fast-isel option. -fast-isel=0 suffices. Minor cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2a2e9d54e95f01eaa5626dcdf57950e9e6f95f2c |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Cleaner fix for when we're unable to handle a non-double multi-reg retval. Hoists check before emitting the call to avoid unnecessary work. rdar://11430407 PR12796 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2f6ae41f14af87d1019d771b101580381cdfc44f |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Rather then assert (or segfault in a non-asserts build), fall back to selection DAG isel if we're unable to handle a non-double multi-reg retval. rdar://11430407 PR12796 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f4bd21c256f6aabdc13f54ff7bf5d69e8305302c |
|
11-May-2012 |
Chad Rosier <mcrosier@apple.com> |
The return type is an unsigned, not a bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
420761a0f193e87d08ee1c51b26bba23ab4bac7f |
|
20-Apr-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d4f020a3af325630973df8d3a084d0b0e3b68ebc |
|
07-Apr-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f16936e5923156863906c915de657b134db4fb16 |
|
06-Apr-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Deduplicate ARM call-related instructions. We had special instructions for iOS because r9 is call-clobbered, but that is represented dynamically by the register mask operands now, so there is no need for the pseudo-instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c89c744b69cecac576317a98322fd295e36e9886 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove unnecessary llvm:: qualifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0e5233a9e5ee9385c6a940e3985194d77bee0bbb |
|
26-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune includes and replace uses of ARMRegisterInfo.h with ARMBaeRegisterInfo.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5aeff3171c173dec9a6e6f89e428a0a78698c43e |
|
17-Mar-2012 |
Bill Wendling <isanbard@gmail.com> |
Check if we can handle the arguments of a call (and therefore the call) in fast-isel before emitting code. If the program bails after code was emitted, then it could lead to the stack being adjusted more than once (two CALLSEQ_BEGINs emitted) but being adjuste back only once after the call. This leads to general badness and gnashing of teeth. <rdar://problem/11050630> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0ac754f6f43a0e5a56f712aebb663581ae512e4c |
|
15-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Address Eli's comments for r152847. Specifically, add a test case and still allow immediate encoding, just not with cmn. rdar://11038907 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
530b19b70212f02cffa971256501e77284c320a0 |
|
15-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Don't try to encode LONG_MIN using cmn instructions. rdar://11038907 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
44c98b71148d11368c18ffb9c14e8a28a76a8021 |
|
07-Mar-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] ARMEmitCmp generates FMSTAT, which transfers the floating-point condition flags to CPSR. This allows us to simplify SelectCmp. Patch by Zonr Chang <zonr.xchg@gmail.com>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4f92b5e6163b16d63eb63269c2aec670b55ea19a |
|
06-Mar-2012 |
Lang Hames <lhames@gmail.com> |
Split fpscr into two registers: FPSCR and FPSCR_NZCV. The fpscr register contains both flags (set by FP operations/comparisons) and control bits. The control bits (FPSCR) should be reserved, since they're always available and needn't be defined before use. The flag bits (FPSCR_NZCV) should like to be unreserved so they can be hoisted by MachineCSE. This fixes PR12165. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e751c0069aee16e85156d6539f4b724f71c341c6 |
|
01-Mar-2012 |
Jim Grosbach <grosbach@apple.com> |
ARM use the right opcode for FP<->Integer move in fast-isel. rdar://10965031 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c54f6348861517398f17e85f41b30c4dd079fc3d |
|
24-Feb-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Switch ARM target to register masks. I'll let the buildbots determine the compile time improvements from this change, but 464.h264ref has 5% faster codegen at -O2. This patch does cause some assembly changes. Branch folding can make different decisions about calls with dead return values. CriticalAntiDepBreaker may choose different registers because its liveness tracking is affected. MachineCopyPropagation may sometimes leave a dead copy behind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
44d23825d61d530b8d562329ec8fc2d4f843bb8d |
|
22-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Make all pointers to TargetRegisterClass const since they are all pointers to static data that should not be modified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b8703fe265d44a3eb909c289cb5d31b840ca893c |
|
17-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for returning non-legal types with no sign- or zero- entend flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a69feb0f33788b13aa4c25736e50afc6f2b4ce44 |
|
16-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Remove unnecessary assignment to temporary, ResultReg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
40d552e0be0ba66a3d8e31bf797f1acba4c91b17 |
|
15-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Add braces to if clause to make symmetric with associate else clause. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
92fd01736484262fef049b7358366d8eab2f857e |
|
15-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Use a temporary variable, rather then a series of redundant calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5793a6586d94a5032a815af97113c3ba47cbdf8a |
|
14-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Remove unnecessary assignment to temporary, ResultReg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
743e19983effd486c1911f5b797aea7133ea154c |
|
08-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for SUBs with non-legal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6fde8756215a725578b6afe678757f60d7f55d06 |
|
08-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for ORs with non-legal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
60c8fa6bb9db791acf6846fe250c184e3f1df168 |
|
08-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for indirect branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bc2198133a1836598b54b943420748e75d5dea94 |
|
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3901c3e75009f2ec7b4e67c354170dadab9e5a02 |
|
07-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for ADDs with non-legal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5b8a1db7ea6510a2589f710d50754599da742de9 |
|
05-Feb-2012 |
Duncan Sands <baldrick@free.fr> |
Persuade GCC that there is nothing worth warning about here (there isn't). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
769422f0fce4def419c8cdb72ee967437ffd2f4f |
|
03-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for URem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ae46a3362d6c7fd2d4b1bf3b40982d289d7418fb |
|
03-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Rename isZExt to isSigned. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7ccb30b5964675a70559ec25a6bff32f7dea1025 |
|
03-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for UDIV. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ee8901c08fb27e98078326706a49dba70e1768a3 |
|
03-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for FPToUI. Also add test cases for FPToSI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
36b7beb42921c428fc9f5b5a9cc9feb7fe7dd4b3 |
|
03-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Add support for selecting UIToFP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 |
|
20-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
More dead code removal (using -Wunreachable-code) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
fae699a580380b910740e1cb17ab950ba91ce4a1 |
|
11-Jan-2012 |
Eric Christopher <echristo@apple.com> |
Fix assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8f37a2422ea948b71d0992ab3f82dab07a54ce52 |
|
07-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Match SelectionDAG logic for enabling movt. Darwin doesn't do static, and ELF targets only support static. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4964ba01f96d5b3a8fb27a7847c01666ee9b4ebd |
|
07-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use getRegForValue() to materialize the address of ARM globals. This enables basic local CSE, giving us 20% smaller code for consumer-typeset in -O0 builds. <rdar://problem/10658692> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
45ca7c6336f174fae3a9521d5161a498ca27fd13 |
|
07-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use movw+movt in ARMFastISel::ARMMaterializeGV. This eliminates a lot of constant pool entries for -O0 builds of code with many global variable accesses. This speeds up -O0 codegen of consumer-typeset by 2x because the constant island pass no longer has to look at thousands of constant pool entries. <rdar://problem/10629774> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
afff941211526a31f931aa9fcac84ae42ff60ef0 |
|
20-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
ARM target code clean up. Check for iOS, not Darwin where it makes sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6762f8f302f5c01a26e848cdcac20bddde0dd22c |
|
14-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
VFP2 is required for FP loads. Noticed by inspection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
64ac91b4b6e62f82d608fe9602b28c00171f88a0 |
|
14-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Tidy up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
404ed3c2239ff394270053bdcb76a5a4908af7ce |
|
14-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix 80-column violation and extraneous brackets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ddfd1377d2e4154d44dc3ad217735adc15af2e3f |
|
14-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function to finalize MI bundles (i.e. add BUNDLE instruction and computing register def and use lists of the BUNDLE instruction) and a pass to unpack bundles. - Teach more of MachineBasic and MachineInstr methods to be bundle aware. - Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to prevent IT blocks from being broken apart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8a9bce978fa4ca60d3a0ba42a1d44c41463a3c33 |
|
13-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
[fast-isel] Unaligned loads of floats are not supported. Therefore, convert to a regular load and then move the result from a GPR to a FPR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5a96b3dad2f634c9081c8b2b6c2575441dc5a2bd |
|
07-Dec-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add bundle aware API for querying instruction properties and switch the code generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ed42c5f778dd0128429e4feffe2c028b2352b534 |
|
06-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Doublewords only require word-alignment. rdar://10528060 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6ce2deacefa5fd2565983d513d07a06d6a8af602 |
|
04-Dec-2011 |
Bob Wilson <bob.wilson@apple.com> |
Fix 80-column issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145783 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9eff1e33f616ad2d0134740ac4595ed2e79e3d74 |
|
03-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] Unaligned stores of floats require special care. rdar://10510150 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 |
|
02-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b74c865841481074539bdf4de35024939854f2e6 |
|
02-Dec-2011 |
Chad Rosier <mcrosier@apple.com> |
[arm-fast-isel] After promoting a function parameter be sure to update the argument value type. Otherwise, the sign/zero-extend has no effect on arguments passed via the stack (i.e., undefined high-order bits). rdar://10515467 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4c0c5451c78423bcc08e23f230e912e35d11dc4d |
|
28-Nov-2011 |
Duncan Sands <baldrick@free.fr> |
Silence wrong warnings from GCC about variables possibly being used uninitialized: GCC doesn't understand that the variables are only used if !UseImm, in which case they have been initialized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
424fe0e422826f4962b58428b6aef48e1a66c30a |
|
18-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Guard call to getRegForValue with isTypeLegal check to avoid unnecessary work/dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
944d82ba06bcb6bf92ca1fbcbdf1a882cd009363 |
|
17-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add TODO comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2fb82ce75d193d5287d32bb3225b8008d8a133fa |
|
17-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3bdb3c9b511b89d38696587d61b82949e06a7729 |
|
17-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Don't unconditionally set the kill flag. rdar://10456186 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
508a1f4db16baea5c0d5b1c4797d005dff1ee30f |
|
16-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Check to make sure we can select the instruction before trying to put the operands into a register. Otherwise, we may materialize dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f56c60b5713c57a3f9223d4ed3d9c88088132fad |
|
16-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add FIXME comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d9190c0f148b218ab046deadd0c7ae475414cde5 |
|
15-Nov-2011 |
Jay Foad <jay.foad@gmail.com> |
Remove some unnecessary includes of PseudoSourceValue.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2c42b8c912b62071c27454182cdef60e3b584083 |
|
15-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Supporting inline memmove isn't going to be worthwhile. The only way to avoid violating a dependency is to emit all loads prior to stores. This would likely cause a great deal of spillage offsetting any potential gains. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
909cb4f2f2d227ea01852cb318c80a79c46bc9bf |
|
14-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for inlining small memcpys. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e489af8dce12249be26ac0c8e371557378886bc2 |
|
14-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix a performance regression from r144565. Positive offsets were being lowered into registers, rather then encoded directly in the load/store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
57b299796685033c87a5414e179b95b5ae7dc8d4 |
|
14-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for Thumb load/stores with negative offsets. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
dc9205d9c29171f1ddcf2de7eb172a583cadbe63 |
|
14-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for ARM halfword load/stores and signed byte loads with negative offsets. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9eb674880b98cbeca0cd5b3f0265b77282d48b4a |
|
13-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
The order in which the predicate is added differs between Thumb and ARM mode. Fix predicate when in ARM mode and restore SelectIntrinsicCall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a517ab155b371e2911450d0048fb158931b8e68c |
|
13-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Temporarily disable SelectIntrinsicCall when in ARM mode. This is causing failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5be833de769608254fdfc56e8173000e874a8154 |
|
13-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Fix comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144490 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b29b950bf227b65e193abf924f77ef3fa4eceaae |
|
13-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for emitting both signed- and zero-extend loads. Fix SimplifyAddress to handle either a 12-bit unsigned offset or the ARM +/-imm8 offsets (addressing mode 3). This enables a load followed by an integer extend to be folded into a single load. For example: ldrb r1, [r0] ldrb r1, [r0] uxtb r2, r1 => mov r3, r2 mov r3, r1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
11add26ec2bdf5109f0ff2ee19d237664687b914 |
|
12-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support in fast-isel for selecting memset/memcpy/memmove intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1c47de87c74c3834c5cfab8a7e0fa67b1805f927 |
|
11-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Rename variables to avoid confusion. No functionallity change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a07d3fc693e2a3ac7c9ed2a59f62b21ab33d9fd4 |
|
11-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for using immediates with select instructions. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
646abbfa30f881b5183b62e77a185fc48d9d82bd |
|
11-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
When loading a value, treat an i1 as an i8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4e89d97e3a40dcbbf07648512f0e95133867a74f |
|
11-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for using MVN to materialize negative constants. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
16455ce1a4063348209e94f52afde653ded5eeb5 |
|
10-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
When in ARM mode, LDRH/STRH require special handling of negative offsets. For correctness, disable this for now. rdar://10418009 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6cba97c5557ac51d8ae09b9f5cbad6891124db4d |
|
10-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
For immediate encodings of icmp, zero or sign extend first. Then determine if the value is negative and flip the sign accordingly. rdar://10422026 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7346347674f03868e8c076c8c27a7f09f0a086c2 |
|
09-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
The ARM LDRH/STRH instructions use a +/-imm8 encoding, not an imm12. rdar://10418009 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2f2fe417f98406140504ba3bbb65676d4a00ed87 |
|
09-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for encoding immediates in icmp and fcmp. Hopefully, this will remove a fair number of unnecessary materialized constants. rdar://10412592 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
66dc8ca04b719f3ab4aa650609dbd56b055ecb34 |
|
08-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
ARMFastISel doesn't support thumb1. Rename isThumb to isThumb2 to reflect this. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0eff39f2e25e9d8dd52b1eb7fa4e7cc6cc77875f |
|
08-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Enable support for returning i1, i8, and i16. Nothing special todo as it's the callee's responsibility to sign or zero-extend the return value. The additional test case just checks to make sure the calls are selected (i.e., -fast-isel-abort doesn't assert). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
42536af5ce152593f489ca88bd0732218594d536 |
|
05-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for passing i1, i8, and i16 call parameters. Also, be sure to zero-extend the constant integer encoding. Test case provides testing for both call parameters and materialization of i1, i8, and i16 types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143821 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
451afbc6a22a3a662eea7e86088c65c36e84949f |
|
05-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Cannot create a result register for non-legal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a4e07270bccb3cb6774af975300628e072bf03f1 |
|
05-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
When materializing an i32, SExt vs ZExt doesn't matter when we're trying to fit in a 16-bit immediate. However, for the shorter non-legal types (i.e., i1, i8, i16) we should not sign-extend. This prevents us from materializing things such as 'true' (i.e., i1 1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
44e895761f289029657a8d066f67f0c9d18693b3 |
|
04-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Enable support for materializing i1, i8, and i16 integers via move immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8e4a2e4f730e691e116a4b2cee3a2c760a54ac09 |
|
04-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f470cbbad204caa85275873004151b92fba24375 |
|
04-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add fast-isel support for returning i1, i8, and i16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
463fe24f1dd5132607abb3548a2acb1849e9aa99 |
|
03-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for sign-extending non-legal types in SelectSIToFP(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e07cd5e40ac06fabfb9d33ea7c79542f138f45ce |
|
02-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Add support for comparing integer non-legal types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
87633026d65acf8253e953bdcfd20bc351631f61 |
|
02-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Factor out an EmitIntExt function. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0d7b231c9b0acf2ea6bb99f75672751f64c6c6db |
|
02-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Factor out a SelectTrunc function. No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6d64b3adab682aea9c0b4dd665acc5e863ac6d21 |
|
27-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
A branch predicated on a constant can just FastEmit an unconditional branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8ff2664f2f3f4f5dbd847f94352ffc8b4e1b85e3 |
|
27-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Add a TODO comment. FastISel works by parsing each basic block from the bottom up. Thus, improving the support for compares is goodness because it increases the number of terminator instructions we can handle. This creates many more opportunities for target specific fast-isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ade620065d1ad591e0f3d39d40cc241f49cf0a99 |
|
27-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Factor a little more code into EmitCmp, which should have been done in the first place. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
75698f346fc44bdd8803b5dda4071d4b5872d82b |
|
27-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Use EmitCmp in SelectBranch. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
530f7cefd3082e8aaa74b7d65636f30d0312b6ec |
|
27-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Factor out an EmitCmp function that can be used by both SelectCmp and SelectBranch. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3a7572ff61dbd659121b20791d67469a70e9324d |
|
18-Oct-2011 |
Chad Rosier <mcrosier@apple.com> |
Add a few FIXME comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5bb779976a7d8e48408051ec2289fe69206dc072 |
|
01-Oct-2011 |
Bill Wendling <isanbard@gmail.com> |
Switch over to using ARMConstantPoolConstant for global variables, functions, and block addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4ebbf7b8a8e80532bd2ddf7209e62689c1698a96 |
|
30-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM fix encoding of VMOV.f32 and VMOV.f64 immediates. Encode the immediate into its 8-bit form as part of isel rather than later, which simplifies things for mapping the encoding bits, allows the removal of the custom disassembler decoding hook, makes the operand printer trivial, and prepares things more cleanly for handling these in the asm parser. rdar://10211428 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b04546ff5b1a7a03eec1076900c945223bf494cc |
|
13-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up a few 80 column violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4136d23c4805c5403a3521bf03fbfeee75b9216b |
|
03-Sep-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Don't fast-isel for atomic load/store; some cases require extra handling missing from fast-isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
dd1e7517b5bdda245c907f7e36350ef862be2571 |
|
01-Sep-2011 |
Chad Rosier <mcrosier@apple.com> |
Fixup for functions that return a bool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d04f6a581ce06ef1cd5fe376088347ad0246e07d |
|
23-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
[SU]XT[BH] are only available on ARMv6 and up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c5a8c861c9f008d777f5da6a77c253fea2bfe2f1 |
|
27-Jul-2011 |
Jim Grosbach <grosbach@apple.com> |
ARM extend instructions simplification. Refactor the SXTB, SXTH, SXTB16, UXTB, UXTH, and UXTB16 instructions to not have an 'r' and an 'r_rot' version, but just a single version with a rotate that can be zero. Use plain Pat<>'s for the ISel of the non-rotated version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ee04a6d3a40c3017124e3fd89a0db473a2824498 |
|
21-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Sink ARMMCExpr and ARMAddressingModes into MC layer. First step to separate ARM MC code from target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
land David Blaikie's patch to de-constify Type, with a few tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d5b03f252c0db6b49a242abab63d7c5a260fceae |
|
28-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move CallFrameSetupOpcode and CallFrameDestroyOpcode to TargetInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e837dead3c8dc3445ef6a0e2322179c57e264a13 |
|
28-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
471e4224809f51652c71f319532697a879a75a0d |
|
09-Jun-2011 |
Eric Christopher <echristo@apple.com> |
Add a parameter to CCState so that it can access the MachineFunction. No functional change. Part of PR6965 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d6412c940ef863d02595f7be094d8cd3afc908a1 |
|
03-Jun-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add ARM fast-isel support for materializing the address of a global in cases where the global uses an indirect symbol. rdar://9431157 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c152aa6c86f87be6f3ca9b6e2d57ee31b9258385 |
|
28-May-2011 |
Cameron Zwarich <zwarich@apple.com> |
Fix ARM fast isel to correctly flag memory operands to stores. This fixes -verify-machineinstrs failures on several tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a4d487fc1e2f95f4b47ad472071bfdd484eb3b40 |
|
27-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a silly mistake (which trips over an assertion) in r132099. rdar://9515076 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
76927d7303046058c627691bd45d6bff608f49f4 |
|
26-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Rewrite fast-isel integer cast handling to handle more cases, and to be simpler and more consistent. The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts). rdar://9437928 . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
783c66414ae54ddc9879843b4bc878dc66a70478 |
|
25-May-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Prepare ARMFastISel::SelectSIToFP for getRegForValue returning registers for i8 and i16 values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0c720761903394c4dd232b9fe49da7d5fb40172b |
|
17-May-2011 |
Jim Grosbach <grosbach@apple.com> |
Kill some dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
52f6c03a450aeed93b97cad9e5373029ebcad5e7 |
|
02-May-2011 |
Eric Christopher <echristo@apple.com> |
Apparently the check for direct calls is unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c573e2c7ea646d29162a96a0707f4eb0f77f83bc |
|
30-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Switch to ImmLeaf (which can be used by FastISel) for a few more common ARM/Thumb2 patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d94bc549fcc34f1d97d27221ce5bbf46df207557 |
|
30-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Add FastEmitInst_ii for the arm fast isel generator. It doesn't use it, but if it ever did it needs the def machinery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
632ae892e6517e27791ac9e51188ca697ccc6515 |
|
29-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Some cleanup and optimize fallthrough more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9ebf57ae132369248c885a90bc3dd5e3cf589247 |
|
29-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Re-committing r130454, which does not in fact break anything. Fix a rather obscure crash caused by ARM fast-isel generating code which redefines a register. rdar://problem/9338332 . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bcf26aee86b1ab15b3e1442483eaa7be9fa00a82 |
|
29-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Add trunc->branch support, this won't help with clang's i8->i1 truncations for bools, but is a start. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6344a5f1464dade7735ac440d7a3d24bf009f298 |
|
29-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Update comments and checks to match reality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130464 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
299bbb23a421fce79c63e9f879ff3baef18c2f90 |
|
29-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6e6014cfb3e4dea3b0bd59bcc49ba8cd8dfcfa96 |
|
29-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Revert r130454; apparently this doesn't actually work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2f7fcd71982678879803b96574526f0a22b3918e |
|
29-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a rather obscure crash caused by ARM fast-isel generating code which redefines a register. rdar://problem/9338332 . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7a20a37bacfb2abc0622768fb9d25797518b1f0e |
|
28-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Be more layout aware here and swap the successor and branch condition if it means we get a fallthrough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c5eecbc4ec3e8b6934b2c932735c8ebc1b78f537 |
|
16-Apr-2011 |
Stuart Hastings <stuart@apple.com> |
Correct result when a branch condition is live across a block boundary. <rdar://problem/8933028> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
562b84b3aea359d1f918184e355da82bf05eb290 |
|
11-Apr-2011 |
Jay Foad <jay.foad@gmail.com> |
Don't include Operator.h from InstrTypes.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0435661582c5ccbd3984a710850fc8bc8939e566 |
|
05-Apr-2011 |
Eric Christopher <echristo@apple.com> |
Just use BL all the time. It's safer that way. Fixes rdar://9184526 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c0e6d780cd7a0935f545a0ec0a9ad4a6ae8db2a9 |
|
31-Mar-2011 |
Cameron Zwarich <zwarich@apple.com> |
Add a ARM-specific SD node for VBSL so that forms with a constant first operand can be recognized. This fixes <rdar://problem/9183078>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7244d7cbcea232049f2676e4d204dddf6520821f |
|
22-Mar-2011 |
Eric Christopher <echristo@apple.com> |
Migrate the fix in r128041 to ARM's fastisel support as well. Fixes rdar://9169640 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
af3dce51494b366024958b6dc9a15b95cb03011f |
|
12-Mar-2011 |
Eric Christopher <echristo@apple.com> |
Sometimes isPredicable lies to us and tells us we don't need the operands. Go ahead and add them on when we might want to use them and let later passes remove them. Fixes rdar://9118569 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
872f4a224711ef55b821746fc7a24b9260fee370 |
|
22-Feb-2011 |
Eric Christopher <echristo@apple.com> |
Only use blx for external function calls on thumb, these could be fixed up by the dynamic linker, but it's better to use the correct instruction to begin with. Fixes rdar://9011034 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126176 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4a2b31676217cbf710f74253ae6ab8306b115ba6 |
|
27-Jan-2011 |
Eric Christopher <echristo@apple.com> |
Use the incoming VT not the VT of where we're trying to store to determine if we can store a value. Also, the exclusion is or, not and. Fixes rdar://8920247. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
955ed73d12f2b186ef3f80da872b702cd7f2895b |
|
18-Jan-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Remove unused variables found by gcc-4.6's -Wunused-but-set-variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5de5d4b6d0eb3fd379fa571d82f6fa764460b3b8 |
|
17-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g. movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4)) movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4)) LPC0_0: add r0, pc, r0 It's not yet enabled by default as some tests are failing. I suspect bugs in down stream tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
54c6d6f42d096f8144ac636ec6ae0d3362ead43e |
|
05-Jan-2011 |
Chris Lattner <sabre@nondot.org> |
fix some -Wself-assign warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c19aadb8b0219462ff55f4bdc8106cebc1245bb6 |
|
21-Dec-2010 |
Eric Christopher <echristo@apple.com> |
Arm and thumb call instructions are also in different orders. Fixes rdar://8782223 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
836c6245ad7e8f2b9f72c2a9e4cb1df101eaf2c7 |
|
16-Dec-2010 |
Eric Christopher <echristo@apple.com> |
Don't handle -arm-long-calls in fast isel for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121919 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
564857f776084a85b6b4bf0c896fd60c69d0c521 |
|
01-Dec-2010 |
Eric Christopher <echristo@apple.com> |
Refactor load/store handling again. Simplify and make some room for reg+reg handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120526 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
06a86da3238d9f2234cb7eb7ca6bdc73b65bc408 |
|
30-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Noticed this on inspection, fix and update some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7bb5996e474806eee2fde0f446400ecbab59e4ae |
|
29-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Update fastisel for the changes in r120272. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bf17cfa3f904e488e898ac2e3af706fd1a892f08 |
|
23-Nov-2010 |
Wesley Peck <peckw@wesleypeck.com> |
Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
827656dab4931a512d6d994d9c61d280a2651dd4 |
|
20-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Rewrite address handling to use a structure with all the possible address mode variables. Handle frame indexes in load/store and allocas again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
13df1a0baca2af78e24919e6a52b452f4d45f32f |
|
20-Nov-2010 |
Eric Christopher <echristo@apple.com> |
STRH only needs the additional operand, not t2STRH. Also invert conditional to match the one from the load emitter above. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b37165808359c71b20291de51368f9efb65e7108 |
|
19-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Don't need to save piecemeal now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119862 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2d630d7bc9ae746d353211c3532dfa8e4f0ce9d5 |
|
19-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
88de86b550a1fd19dd968cafac48e810f1da5254 |
|
19-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0d58122e1221665d421a53741ef638505ecbe745 |
|
19-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Refactor address mode handling into a single struct (ala x86), this should give allow a wider range of addressing modes. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3ea4daaf5043ba2d4745f43c5dc2e44c0305ca00 |
|
19-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Remove hard tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
76dda7ec1d8d0ee65a103b6710ab75c2a9e012d1 |
|
15-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Recommit this change and remove the failing part of the test - it didn't pass in the first place and was masked by earlier failures not warning and aborting the block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
84e86c0156a6562bba87a0484ef24c2de4f641d7 |
|
13-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Temporarily revert this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c0394c0b8cee513a624566ce1db100bd66d4da57 |
|
12-Nov-2010 |
Eric Christopher <echristo@apple.com> |
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
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d0c82a683e965f326e36a2bcaa85c00e917f8282 |
|
12-Nov-2010 |
Eric Christopher <echristo@apple.com> |
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
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
16cb3763c5a1dad7d6bcbf0fffdfc58c84b46f89 |
|
09-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5e262bc94342b4ce277206cb739b98b80b8b0d2b |
|
06-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Make sure we have movw on the target before using it. Fixes 8559. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1e96bab329eb23e4ce8a0dc3cc6b33a3f03d15bf |
|
04-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
In the calling convention logic, ValVT is always a legal type, and as such can be represented by an MVT - the more complicated EVT is not needed. Use MVT for ValVT everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e5b13cfdd0fc6529f8e2b3704ccaf20369aec486 |
|
03-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Optimize generated code for integer materialization a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
cdfad36b401be6fc709ea4051f9de58e1a30bcc9 |
|
03-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Simplify uses of MVT and EVT. An MVT can be compared directly with a SimpleValueType, while an EVT supports equality and inequality comparisons with SimpleValueType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1440e8b918d7116c3587cb95f4f7ac7a0a0b65ad |
|
03-Nov-2010 |
Duncan Sands <baldrick@free.fr> |
Inside the calling convention logic LocVT is always a simple value type, so there is no point in passing it around using an EVT. Use the simpler MVT everywhere. Rather than trying to propagate this information maximally in all the code that using the calling convention stuff, I chose to do a mainly low impact change instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
000cf708effc247ff1e609d0703324b21585a4af |
|
03-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Invert these branches by default, it makes assembly comparisons a little easier to read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4c914125c4d1746dd2436cb5b1620efd6182f1db |
|
03-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Make sure we're only storing a single bit here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4053e63a4b2f54446e29ef5bdad64e43b3bf52d6 |
|
02-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Remove an assert - it's possible to be hit, and we just want to avoid handling those cases for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
61d69da051f5e45ebca4b78f3cec21370de25061 |
|
02-Nov-2010 |
Eric Christopher <echristo@apple.com> |
Whitespeace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
aaa8df4cad59e41bebba47ce2b4c74c1f0a23c77 |
|
02-Nov-2010 |
Eric Christopher <echristo@apple.com> |
No really, no thumb1 for arm fast isel. Also add an informative comment as to what someone would need to do to support thumb1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
76d61478dff97d10ed01ae071f9fff1a24001009 |
|
30-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Make sure we have a legal type (and simple) before continuing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0e6233bfd75a12b9e56507086a37816240ca877a |
|
29-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Handle comparison values we already have - this fixes the consumer-typeset failure for llvm-gcc on arm fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7e3383c007f53b3a00675af225e428cb66ddf404 |
|
28-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like the LDR instructions have. This makes the literal/register forms of the instructions explicit and allows us to assign scheduling itineraries appropriately. rdar://8477752 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6b15639e267575a2c95f89d6b266e0fcd9231d91 |
|
27-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c1d30212e911d1e55ff6b25bffefb503708883c3 |
|
27-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Split ARM::LDRB into LDRBi12 and LDRBrs. Adjust accordingly. Continuing on rdar://8477752. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117419 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3e5561247202bae994dd259a2d8dc4eff8f799f3 |
|
27-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
First part of refactoring ARM addrmode2 (load/store) instructions to be more explicit about the operands. Split out the different variants into separate instructions. This gives us the ability to, among other things, assign different scheduling itineraries to the variants. rdar://8477752. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a4633f5d7458f4d04e4bf89be48d3b14e1fae044 |
|
23-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Move rejection of NEON parameters earlier in fast isel call processing, note that we can actually handle some f64 arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1f8b40d51c0e1bb7fce5a69c2fadc656bfef3092 |
|
22-Oct-2010 |
Evan Cheng <evan.cheng@apple.com> |
Silence compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117128 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4f512efee9198eb38bf190b0c3fe50429a065d15 |
|
22-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Add some basic ret instruction support to arm fast-isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1778772d1ba9a434dc98a96cbb1b97028d6cd49c |
|
21-Oct-2010 |
Eric Christopher <echristo@apple.com> |
These don't need to be virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5b924809e4a62ddc0221cd355e834ecec22bbf40 |
|
21-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Handle storing args to the stack for calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
212ae937bb9b52bb1f27f02cb0c28496c4d1e2b9 |
|
21-Oct-2010 |
Eric Christopher <echristo@apple.com> |
More load/store refactoring, call reg+offset simplification from within the emitter to handle the addresses. Only simplify the offset if we need to - also fix bug where in addrmode 5 we weren't dividing the offset by 4, which showed up due to not always lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2d8f6fe610fa859370c38cfbe38ff809a3a417de |
|
21-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Custom lower f64 args passed in integer registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3659ac22c0dcb64d69aa9b80d9979caf0cab2e4f |
|
20-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix a TODO by removing some unnecesary copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6e5367d6a35e7d4cde8ddb8d56b706d5b8dffbd0 |
|
19-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Revert r116220 - thus turning arm fast isel back on by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4cf34c6c041cebc1d816d178654c6bbb7737cc4e |
|
18-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Remove the check for invalid calling conventions. Testing shows that they're working just fine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
fa87d6675212d5ca04725b7e541156f58c4ab40b |
|
18-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Lift arg promotion from the X86 backend. This should be unified at some point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
404be0c04f8a984e21f650c2bcd7b277c6fa6a84 |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Now that we handle all allocas via a non-SP reg offset remove all of the special case handling for ARM::SP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ec8bf972f5a270c80c7dca05151c9063be646e2b |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Allow more load types to be materialized through the allocas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d56d61af0190ee8024eb71dd4138ed7861f20adc |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Optimize GEP off of intermediate allocas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7208dbf2d58a8eeff755907494d77af052db207b |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
dc0b0ef6cd593a7eb502ca0842fa1f653cb68140 |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Turn on AddOperator folding in GEP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
45c607134b396ebdb8eb0cefe831e6ab2e37deac |
|
17-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Use the i12 immediate versions of the load instructions - they're handled more in the post-passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
47650ece374315ce4ff5e483f6165ae37752f230 |
|
16-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix some funky formatting that got through. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c9a91fdaf99a138e9d0aee648c7bc5d04ac385cd |
|
16-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Make sure offset is 0 for load/store register to the stack call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
315030ca74f7c3cf8bf7f7d29da667ac9fc45bb0 |
|
16-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix else if -> if in store machinery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116628 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a32242564220e66a4f0fea8c173b0094ded2aa5e |
|
15-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Refactor ARM fast-isel reg + offset to be a base + offset. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2896df897cc7d1bd3d211f6a8f47081a1a929bb2 |
|
15-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Expand GEP handling for constant offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
eae8439771a9dafd09e32026ca42bb81cceb2af1 |
|
14-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Handle more complex GEP based loads and add a few TODOs to deal with GEP + alloca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
95369599c61ab1b35ae3afe349763b886225c5be |
|
14-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
A few 80 column fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a9c575110f6a8b1aeadefe5728393bb20697b5c5 |
|
13-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ede42b0a22fdb57eb70d0d8c780dc5d3283397c0 |
|
13-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Start handling more global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
558cf007b5ed92324156b29861a0acbf95442278 |
|
12-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix thinko in arm fast isel alloca rewrite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
15418779419923dc9222cd804d409c1878b5e3b1 |
|
12-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Rework alloca handling so that we can load or store from casted address that we've looked through. Fixes compilation problems in tramp3d from earlier patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5532433a574043b516aec26a4dd4b6c8d7fc551e |
|
12-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Handle a wider arrangement of loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5f9e8b971bc4cf1f34901389ef9fe3b6344a0a9c |
|
12-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Use a sane mechanism for that assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
050d16c2a978eda86a5b6dc56d6f0cea10963b9c |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
We're not going to handle dynamic allocas anywhere else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
fb0b892f7ebee68760645dd220f88bd9177cf2e4 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Make sure that the call stack adjustments have default operands. Also leave custom lowerings for later. Fixes some nightly tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8ff9a9da0a2efc7e901c79e62689b49a38454063 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Found a bug turning this on by default. Disable again for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
fa6b29dacdb268301d8e3f58356071c998b2b8a5 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix help text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
feadddd6b6c029bc77d6c11a7a637689d15cc7b4 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Change flag from Enable to Disable since we're enabled by default. Also don't use fast-isel on non-darwin since it's untested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116217 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a2efc5ff6ecc7dfca66b51030510afd004732217 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Turn on arm fast isel by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a1640d9ed9e0e9860614944f79a40ae66ecf56fc |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Copy and pasteo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
dccd2c3c4346dd6625b80fcac9caa1be99731c9c |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Whitespace cleanup in ARM fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6a880d6ba8e489fc85d18cfbc5f8f6187d438630 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Add srem libcall support to ARM fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7bdc4de4e71e3c9c8d82504b99d03bbec3c06ec3 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Add i8 sdiv support for ARM fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116195 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
3bbd396853c7645791417bc795bab4662235ec10 |
|
11-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Implement select handling for ARM fast-isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e93417bcc8940191396d7fa977e2c8d713bd85f6 |
|
09-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix the store part of this as well. Fixes smg2000. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7a56f33583a331bd1d6de57af3fa03085889ecfb |
|
08-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Move to thumb2 loads, fixes a problem with incoming registers as thumb1. Fixes lencod. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
df1f5a924e89fc2f744681677ca03c68aae5bc34 |
|
07-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Remember to promote load/store types for stack to register size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ee56ea62431081a2333eb47df3fa4dfcd425cb54 |
|
07-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Use the correct register class for load instructions - fixes compilation of MultiSource/Benchmarks/Bullet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
5d18d92aad587381b5d9ecf0aeb3c2eb1530ee61 |
|
07-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Use the correct register class here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
338c253d7ebfff4495697911e07cf6ee1724015f |
|
07-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Use the thumb2 conditional move instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1107734e223a140962e220ba64ea62227ffcbe20 |
|
07-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Remove in-progress assertion, add TODO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e540a6f94a4011e6ecefe9e21c3f2b3b581fd6c1 |
|
06-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Comment out fastisel debugging message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
022b7fb045973531a1b05f4f0dae28fd836c9890 |
|
06-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Random cleanup and make the intermediate register in fptosi a 32-bit fp reg, not 64-bit. Fixes SingleSource. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
890dbbec5773fb4d3823e3102d403d79900b08bc |
|
02-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Start on lowering global addresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c9932f6f60827e31395d5254fda73f03257963ae |
|
02-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Stub out constant GV handling, fixes C++ eh tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e6ca6771e330a0590d529d94f72201c05d0cf6f8 |
|
01-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Direct calls only for arm fast isel for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
45547b844d6a1cd69d6f71ec304948896c89bf43 |
|
01-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Fix thinko on store instructions. Fixes test_indvars failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
14df88282bf897403db6ac1dc20ad01a0ae79835 |
|
01-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Implement double return values in calls. Fixes SingleSource/Regression/C/casts.c. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
086378597df590e6401abf90d0b5edb09bbaa297 |
|
01-Oct-2010 |
Eric Christopher <echristo@apple.com> |
Movement and cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f9764fa14fc6e168956bd53e696e8aa4e7b5d42e |
|
30-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Start of generalized call support for ARM fast isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a9a7a1a9a557cc03d1fed6cba3f27520be5274c0 |
|
30-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Refactor arm fast isel libcall handling so that pieces can be used for generic call handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115105 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8cf6c60710c7924bcd0235f37e4d613f9abf7dc6 |
|
30-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Add a convenience variable so I'm not chasing all over looking for a context. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
229207aa2edaeb872e9f987ad8df3a67455f240c |
|
29-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rework comparison handling to set a register on true/false. This avoids problems with phi-nodes in blocks that have hard and not virtual registers. Accordingly update branch handling to compensate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f8476e6742d22f97932409e79b59a693df6b5947 |
|
29-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Remove unnecessary set ahead of time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
98de5b46039984759f236cf991b0eebd179e9411 |
|
29-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Remove assert, add comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
744c7c8e1b9bf166ded2b4e0b57638a004a44f8d |
|
29-Sep-2010 |
Eric Christopher <echristo@apple.com> |
32-bit constant ints only for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
fd60980eb248f44927ea55c1f8d11fa019d318a6 |
|
28-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Integer materialization needed the same thinko change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7ed8ec94d96cc87e768fd5ebe4ddeb04dd56e8ab |
|
28-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rework builtin handling and call setup. The builtin handling now takes a libcall operand, sets up the arguments correctly and handles stack adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f5732c4ee5af93bddeb8f4612441bfdf19237ea3 |
|
28-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Fix fp constant loads to have a destination register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1127c720ede18f8ffaae4d7d6209569803c24720 |
|
27-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Insert missing coherency in comment. Add a quick check for hardware divide support also. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
43b62beb4cac4337a080c2d3fb8f218a7ffb59c3 |
|
27-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Mass rename for Jim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
c109556a0a7f0dca78f60967c3560fcaa27097a0 |
|
18-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Thumb opcodes for thumb calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
6dab137b889d1fafdeee9c70c2b59d549d59163a |
|
18-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Add addrmode5 fp load support. Swap float/thumb operand adding to handle thumb with floating point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b74558ad3e1822f90e363c400bd6c06e94c200e1 |
|
18-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Floating point stores have a 3rd addressing mode type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a5b1e6810769bef9a1fd98c69877bdfd75d7b106 |
|
18-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rework arm fast isel branch and compare code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bb3e5dad6685dd54625edae789d1a703f4107a69 |
|
15-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Emit libcalls for SDIV, this requires some call infrastructure that needs to be shared a bit more widely around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d10cd7b31464a73e3a19b9fada80b9567b04d314 |
|
11-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Start sketching out ARM fast-isel calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
44bff903e20574e7ae6b23c7c3f244db39e0a035 |
|
11-Sep-2010 |
Eric Christopher <echristo@apple.com> |
For consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
920a2089d9b737820631bc6de4c4fb9fa9ad1e07 |
|
10-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Fix build error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
db12b2ba9c602fc9bedcf0a9b2e72e23e29005d8 |
|
10-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Update comments, reorganize some code, rename variables to be more clear. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
238bb162514afac2cfb7221a0f102456de09f581 |
|
10-Sep-2010 |
Eric Christopher <echristo@apple.com> |
64-bit fp loads can come straight out of the constant pool, not as bad as I'd thought. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9ee4ce2f91250ef44fea427392c8dad369df8972 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
SIToFP and FPToSI conversions work only on fp-reg to fp-reg. Move some data around and implement a couple of move routines to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
aa3ace10c1b90e07114e60700c8c1f8e6b4f3e84 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
New "move to fp reg" routine. Use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ef2fdd21418e0cdc5df963a063b0f940964fa208 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
"Strike that, reverse it." -- Mr. Wonka. Truncate when truncating, extend when extending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ce07b5458d87d5f5ad306a1d86785537e9a3ce0c |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Add FPTrunc, fix some bugs where I forgot to update the value map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9a040492f7ed084e12a19d56995855c9b5b1d3aa |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Basic FP->Int, Int->FP conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ac1a19e18ad73198ae54cc4bc08000523031f84a |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Nuke whitespace and fix some indenting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bd6bf0848ee651a3cf4ea868b7a7605e37b4e028 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Handle 64-bit floating point binops as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
bc39b829f2a1f1f0ce3cfe7f9dd99c3402ad2e62 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Basic 32-bit FP operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4620360842bd8cddc5b1bad7f2f04214c91ac9cb |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Handle float->double extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9ed58dff86f09699946641ba87f6c4f04a3773c8 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rewrite TargetMaterializeConstant splitting it out into two functions for integer and fp constants. Implement todo to use vfp3 instructions to materialize easy constants if we can. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
d43393ae34ba7e39239d593742eb63086b68f29a |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Very basic compare support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
a88d8577e696e35bf72bbc2e5ab1f7e2002b8cc4 |
|
09-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Delete dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
30b663339e4e76981a2fc4dee84959298c0a1dc8 |
|
08-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Make the loads/stores match the type we really want to store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
845c5757ed40f23595b89cc0ba1db05e2c3d0099 |
|
08-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rewrite TargetMaterializeConstant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e5734105daf799dea671666059f7ecab6abb389f |
|
03-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Simple branch instruction support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
56d2b72884f98001cefdf8de61d6d7fc00d3df90 |
|
03-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Add basic support for materializing constants (including fp) and stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112912 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1f58741aabd00545468f4ecf29db3dba8e0bd6ac |
|
02-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Clang's -ccc-host-triple was ignoring the arch specifier on my triple, I don't need to implement this quite yet - and not for ConstantInt anyhow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1b61ef4b22c8ae0ef82685637142246a245f9ecb |
|
02-Sep-2010 |
Eric Christopher <echristo@apple.com> |
This should be TargetMaterializeConstant instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
eaa204b2f8414a2ac5764a753c119c8cd40bade3 |
|
02-Sep-2010 |
Eric Christopher <echristo@apple.com> |
One definition of isThumb is plenty, thanks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
318b6eec8d72ad6dad887abde3fed484bd8d86ef |
|
02-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Rework arm fast-isel load and store handling. Move offset computation into the "address selection" routine and handle constant materialization for stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
543cf05b9cb98f50a22cf05137d97bb3bb61f94a |
|
02-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Some basic store support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
4e68c7cca44d33771d376f1668d687ce9d8f11d3 |
|
01-Sep-2010 |
Eric Christopher <echristo@apple.com> |
Add some more load types in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
dc90804a402b9d617c154625e04a74ebd7fe3599 |
|
31-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Rewrite slightly so we can expand for floating point types easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
548d1bb97e6510d1e16299058a4bacb068ede13a |
|
31-Aug-2010 |
Eric Christopher <echristo@apple.com> |
If we have an unhandled type then assert, we shouldn't get here for things we can't handle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
61c3f9ae0624281a7feb0027b8bb87874fadbcd4 |
|
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Do type checks before we bother to do everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
b1cc848d1a9a831e8058fad546e41b21d955fd88 |
|
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Reorganize load mechanisms. Handle types in a little less fixed way. Fix some todos. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
992ea38e0e35f3700a76f49443fb134e7fcb46be |
|
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Fix predicate and add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
e24d66f525825a96ee76508076696936451902be |
|
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Rework braindead conditionals I put in yesterday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
9f782d4dcf580ae508cc83f412884cd3c5f9207d |
|
25-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Fix thumb2 mode loads to have the correct operand ordering. Add a todo to fix this in the port. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
882d62e2db7a82e4fd8fc401545ce3db46eadd82 |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Update comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
2012c7bb7be28c163a4b8034e961ace51f6a7224 |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Fix the opcode and the operands for the load instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f06f309002f00e7927347502997f2df5756f4d9c |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add register class hack that needs to go away, but makes it more obvious that it needs to go away. Use loadRegFromStackSlot where possible. Also, remember to update the value map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111883 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
cb0b04ba6fc847574f592d1a80ff3b60c0d4228c |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add some more debugging code, make it more obvious that RegOffset is getting an address for an object and select some default values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
1dfb4d31e068855c594d157d5a9a207daf473426 |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Don't need the extra register here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8654c71e56cd1f21f71bfce7eecb7373242663ff |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add some more "get address into register" code and a more TODOs/FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
7fe55b739c1bc319da9c81bcfd9d3e5d5030721b |
|
24-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add an ARMFunctionInfo member and use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
8300712c1e73dc106242f0007e0e0e4dd9ea38ce |
|
23-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Start getting ARM loads/address computation going. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
f762fbe4fa421c91e20044ee009ddb57e25dd135 |
|
20-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Fix loop conditionals (MO.isDef() asserts that it's a reg) and move some constraints around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
cb59229a4a60abaee9ef060c515dbd3513865afd |
|
20-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add a couple of random comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
979e0a141487a4cd8538dffbe09eca544acf14c7 |
|
19-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Silence warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
456144eb14b377166af1d9439cee6fad86fcdb1b |
|
19-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Add an AddOptionalDefs method and use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0fe7d54732491126c26e7e1ec60274ff2b02b849 |
|
17-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Copy over some overridden MI wrappers for ARM fast-isel. This is where we're adding predicates and optional defs to the MachineInstrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
038fea5e30faaf37e597f8a4627e1e3141fb59ba |
|
17-Aug-2010 |
Eric Christopher <echristo@apple.com> |
Make arm fast-isel possible to enable via command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
0944795b8c84612303e9de00bc7e9ea362441227 |
|
26-Jul-2010 |
Evan Cheng <evan.cheng@apple.com> |
ARM fastisel isn't ready. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|
ab695889c67fb499bd902e8a969d0ff02ce66788 |
|
22-Jul-2010 |
Eric Christopher <echristo@apple.com> |
Baby steps towards ARM fast-isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/ARM/ARMFastISel.cpp
|