Eric Christopher
|
2c8e7f421c
|
Remove assert, add comment.
llvm-svn: 115009
|
2010-09-29 00:49:09 +00:00 |
Eric Christopher
|
a86a6d2fed
|
32-bit constant ints only for now.
llvm-svn: 115001
|
2010-09-28 22:47:54 +00:00 |
Eric Christopher
|
953b1afd5f
|
Integer materialization needed the same thinko change.
llvm-svn: 114994
|
2010-09-28 21:55:34 +00:00 |
Eric Christopher
|
7990df1ae2
|
Rework builtin handling and call setup. The builtin handling
now takes a libcall operand, sets up the arguments correctly and
handles stack adjustments.
llvm-svn: 114934
|
2010-09-28 01:21:42 +00:00 |
Eric Christopher
|
6f98bfd870
|
Fix fp constant loads to have a destination register.
llvm-svn: 114930
|
2010-09-28 00:35:09 +00:00 |
Eric Christopher
|
0720611e3a
|
Insert missing coherency in comment. Add a quick check for hardware
divide support also.
llvm-svn: 114813
|
2010-09-27 06:08:12 +00:00 |
Eric Christopher
|
29ab6d1f82
|
Mass rename for Jim.
llvm-svn: 114812
|
2010-09-27 06:02:23 +00:00 |
Eric Christopher
|
a6ba082cb6
|
Thumb opcodes for thumb calls.
llvm-svn: 114263
|
2010-09-18 02:32:38 +00:00 |
Eric Christopher
|
aef6499bf1
|
Add addrmode5 fp load support. Swap float/thumb operand adding to handle
thumb with floating point.
llvm-svn: 114256
|
2010-09-18 01:59:37 +00:00 |
Eric Christopher
|
30f2300ed2
|
Floating point stores have a 3rd addressing mode type.
llvm-svn: 114254
|
2010-09-18 01:23:38 +00:00 |
Eric Christopher
|
2ccc1aa696
|
Rework arm fast isel branch and compare code.
llvm-svn: 114226
|
2010-09-17 22:28:18 +00:00 |
Eric Christopher
|
8b9126694d
|
Emit libcalls for SDIV, this requires some call infrastructure
that needs to be shared a bit more widely around.
llvm-svn: 113886
|
2010-09-14 23:03:37 +00:00 |
Eric Christopher
|
72497e5d90
|
Start sketching out ARM fast-isel calls.
llvm-svn: 113662
|
2010-09-10 23:18:12 +00:00 |
Eric Christopher
|
cc766a20d3
|
For consistency.
llvm-svn: 113659
|
2010-09-10 23:10:30 +00:00 |
Eric Christopher
|
712bd0a604
|
Fix build error.
llvm-svn: 113566
|
2010-09-10 00:35:09 +00:00 |
Eric Christopher
|
860fc9370f
|
Update comments, reorganize some code, rename variables to be
more clear. No functional change.
llvm-svn: 113565
|
2010-09-10 00:34:35 +00:00 |
Eric Christopher
|
22fd29a94a
|
64-bit fp loads can come straight out of the constant pool, not as
bad as I'd thought.
llvm-svn: 113561
|
2010-09-09 23:50:00 +00:00 |
Eric Christopher
|
4bd7047324
|
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.
llvm-svn: 113546
|
2010-09-09 21:44:45 +00:00 |
Eric Christopher
|
2cbe0fd956
|
New "move to fp reg" routine. Use it.
llvm-svn: 113537
|
2010-09-09 20:49:25 +00:00 |
Eric Christopher
|
82b05d7206
|
"Strike that, reverse it." -- Mr. Wonka.
Truncate when truncating, extend when extending.
llvm-svn: 113536
|
2010-09-09 20:36:19 +00:00 |
Eric Christopher
|
5903c0be2a
|
Add FPTrunc, fix some bugs where I forgot to update the value map.
llvm-svn: 113533
|
2010-09-09 20:26:31 +00:00 |
Eric Christopher
|
6e3eeba4d9
|
Basic FP->Int, Int->FP conversions.
llvm-svn: 113523
|
2010-09-09 18:54:59 +00:00 |
Eric Christopher
|
2ff757d422
|
Nuke whitespace and fix some indenting.
llvm-svn: 113463
|
2010-09-09 01:06:51 +00:00 |
Eric Christopher
|
bd3d121641
|
Handle 64-bit floating point binops as well.
llvm-svn: 113461
|
2010-09-09 01:02:03 +00:00 |
Eric Christopher
|
24dc27f73a
|
Basic 32-bit FP operations.
llvm-svn: 113459
|
2010-09-09 00:53:57 +00:00 |
Eric Christopher
|
f14b9bf98d
|
Handle float->double extension.
llvm-svn: 113455
|
2010-09-09 00:26:48 +00:00 |
Eric Christopher
|
3cf63f1edd
|
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.
llvm-svn: 113453
|
2010-09-09 00:19:41 +00:00 |
Eric Christopher
|
c3e9c404aa
|
Very basic compare support.
llvm-svn: 113440
|
2010-09-08 23:13:45 +00:00 |
Eric Christopher
|
5838af54bf
|
Delete dead code.
llvm-svn: 113436
|
2010-09-08 22:58:35 +00:00 |
Eric Christopher
|
6489df7c8c
|
Make the loads/stores match the type we really want to store.
llvm-svn: 113417
|
2010-09-08 21:49:50 +00:00 |
Eric Christopher
|
f5dd1929a2
|
Rewrite TargetMaterializeConstant.
llvm-svn: 113387
|
2010-09-08 18:56:34 +00:00 |
Eric Christopher
|
6aaed72949
|
Simple branch instruction support.
llvm-svn: 112923
|
2010-09-03 00:35:47 +00:00 |
Eric Christopher
|
c3e118ef3d
|
Add basic support for materializing constants (including fp) and
stores.
llvm-svn: 112912
|
2010-09-02 23:43:26 +00:00 |
Eric Christopher
|
2020d69800
|
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.
llvm-svn: 112798
|
2010-09-02 02:30:46 +00:00 |
Eric Christopher
|
92db201e23
|
This should be TargetMaterializeConstant instead.
llvm-svn: 112795
|
2010-09-02 01:48:11 +00:00 |
Eric Christopher
|
6a0333c1ed
|
One definition of isThumb is plenty, thanks.
llvm-svn: 112793
|
2010-09-02 01:39:14 +00:00 |
Eric Christopher
|
74487fcbe7
|
Rework arm fast-isel load and store handling. Move offset computation
into the "address selection" routine and handle constant materialization
for stores.
llvm-svn: 112788
|
2010-09-02 00:53:56 +00:00 |
Eric Christopher
|
fde5a3d494
|
Some basic store support.
llvm-svn: 112752
|
2010-09-01 22:16:27 +00:00 |
Eric Christopher
|
3ce9c4a65f
|
Add some more load types in.
llvm-svn: 112721
|
2010-09-01 18:01:32 +00:00 |
Eric Christopher
|
901176a755
|
Rewrite slightly so we can expand for floating point types easier.
llvm-svn: 112568
|
2010-08-31 01:28:42 +00:00 |
Eric Christopher
|
bbd1098989
|
If we have an unhandled type then assert, we shouldn't get here for
things we can't handle.
llvm-svn: 112559
|
2010-08-30 23:48:26 +00:00 |
Eric Christopher
|
7a0d8c69cb
|
Do type checks before we bother to do everything else.
llvm-svn: 112039
|
2010-08-25 08:43:57 +00:00 |
Eric Christopher
|
761e7fb605
|
Reorganize load mechanisms. Handle types in a little less fixed way.
Fix some todos. No functional change.
llvm-svn: 112031
|
2010-08-25 07:23:49 +00:00 |
Eric Christopher
|
15b182f4d4
|
Fix predicate and add a comment.
llvm-svn: 111981
|
2010-08-24 22:34:11 +00:00 |
Eric Christopher
|
236ec8f3b5
|
Rework braindead conditionals I put in yesterday.
llvm-svn: 111974
|
2010-08-24 22:07:27 +00:00 |
Eric Christopher
|
6c99ebf5b0
|
Fix thumb2 mode loads to have the correct operand ordering. Add a todo
to fix this in the port.
llvm-svn: 111973
|
2010-08-24 22:03:02 +00:00 |
Eric Christopher
|
46d3a56e5d
|
Update comment.
llvm-svn: 111887
|
2010-08-24 01:10:52 +00:00 |
Eric Christopher
|
c0c00ca33f
|
Fix the opcode and the operands for the load instruction.
llvm-svn: 111885
|
2010-08-24 01:10:04 +00:00 |
Eric Christopher
|
eb47692c22
|
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.
llvm-svn: 111883
|
2010-08-24 00:50:47 +00:00 |
Eric Christopher
|
9d4e471cc2
|
Add some more debugging code, make it more obvious that RegOffset is
getting an address for an object and select some default values.
llvm-svn: 111871
|
2010-08-24 00:07:24 +00:00 |