summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFastISel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Thumb opcodes for thumb calls.Eric Christopher2010-09-181-1/+5
| | | | llvm-svn: 114263
* Add addrmode5 fp load support. Swap float/thumb operand adding to handleEric Christopher2010-09-181-5/+21
| | | | | | thumb with floating point. llvm-svn: 114256
* Floating point stores have a 3rd addressing mode type.Eric Christopher2010-09-181-1/+9
| | | | llvm-svn: 114254
* Rework arm fast isel branch and compare code.Eric Christopher2010-09-171-8/+70
| | | | llvm-svn: 114226
* Emit libcalls for SDIV, this requires some call infrastructureEric Christopher2010-09-141-0/+154
| | | | | | that needs to be shared a bit more widely around. llvm-svn: 113886
* Start sketching out ARM fast-isel calls.Eric Christopher2010-09-101-1/+37
| | | | llvm-svn: 113662
* For consistency.Eric Christopher2010-09-101-0/+1
| | | | llvm-svn: 113659
* Fix build error.Eric Christopher2010-09-101-1/+1
| | | | llvm-svn: 113566
* Update comments, reorganize some code, rename variables to beEric Christopher2010-09-101-43/+40
| | | | | | more clear. No functional change. llvm-svn: 113565
* 64-bit fp loads can come straight out of the constant pool, not asEric Christopher2010-09-091-10/+18
| | | | | | bad as I'd thought. llvm-svn: 113561
* SIToFP and FPToSI conversions work only on fp-reg to fp-reg. MoveEric Christopher2010-09-091-7/+33
| | | | | | some data around and implement a couple of move routines to do this. llvm-svn: 113546
* New "move to fp reg" routine. Use it.Eric Christopher2010-09-091-5/+12
| | | | llvm-svn: 113537
* "Strike that, reverse it." -- Mr. Wonka.Eric Christopher2010-09-091-2/+2
| | | | | | Truncate when truncating, extend when extending. llvm-svn: 113536
* Add FPTrunc, fix some bugs where I forgot to update the value map.Eric Christopher2010-09-091-2/+28
| | | | llvm-svn: 113533
* Basic FP->Int, Int->FP conversions.Eric Christopher2010-09-091-0/+55
| | | | llvm-svn: 113523
* Nuke whitespace and fix some indenting.Eric Christopher2010-09-091-60/+60
| | | | llvm-svn: 113463
* Handle 64-bit floating point binops as well.Eric Christopher2010-09-091-10/+12
| | | | llvm-svn: 113461
* Basic 32-bit FP operations.Eric Christopher2010-09-091-0/+45
| | | | llvm-svn: 113459
* Handle float->double extension.Eric Christopher2010-09-091-0/+23
| | | | llvm-svn: 113455
* Rewrite TargetMaterializeConstant splitting it out into two functionsEric Christopher2010-09-091-21/+45
| | | | | | | for integer and fp constants. Implement todo to use vfp3 instructions to materialize easy constants if we can. llvm-svn: 113453
* Very basic compare support.Eric Christopher2010-09-081-0/+48
| | | | llvm-svn: 113440
* Delete dead code.Eric Christopher2010-09-081-1/+0
| | | | llvm-svn: 113436
* Make the loads/stores match the type we really want to store.Eric Christopher2010-09-081-12/+12
| | | | llvm-svn: 113417
* Rewrite TargetMaterializeConstant.Eric Christopher2010-09-081-7/+18
| | | | llvm-svn: 113387
* Simple branch instruction support.Eric Christopher2010-09-031-0/+23
| | | | llvm-svn: 112923
* Add basic support for materializing constants (including fp) andEric Christopher2010-09-021-3/+40
| | | | | | stores. llvm-svn: 112912
* Clang's -ccc-host-triple was ignoring the arch specifier on my triple,Eric Christopher2010-09-021-22/+3
| | | | | | I don't need to implement this quite yet - and not for ConstantInt anyhow. llvm-svn: 112798
* This should be TargetMaterializeConstant instead.Eric Christopher2010-09-021-38/+28
| | | | llvm-svn: 112795
* One definition of isThumb is plenty, thanks.Eric Christopher2010-09-021-7/+6
| | | | llvm-svn: 112793
* Rework arm fast-isel load and store handling. Move offset computationEric Christopher2010-09-021-31/+116
| | | | | | | into the "address selection" routine and handle constant materialization for stores. llvm-svn: 112788
* Some basic store support.Eric Christopher2010-09-011-0/+41
| | | | llvm-svn: 112752
* Add some more load types in.Eric Christopher2010-09-011-2/+22
| | | | llvm-svn: 112721
* Rewrite slightly so we can expand for floating point types easier.Eric Christopher2010-08-311-17/+25
| | | | llvm-svn: 112568
* If we have an unhandled type then assert, we shouldn't get here forEric Christopher2010-08-301-1/+3
| | | | | | things we can't handle. llvm-svn: 112559
* Do type checks before we bother to do everything else.Eric Christopher2010-08-251-8/+9
| | | | llvm-svn: 112039
* Reorganize load mechanisms. Handle types in a little less fixed way.Eric Christopher2010-08-251-19/+45
| | | | | | Fix some todos. No functional change. llvm-svn: 112031
* Fix predicate and add a comment.Eric Christopher2010-08-241-1/+2
| | | | llvm-svn: 111981
* Rework braindead conditionals I put in yesterday.Eric Christopher2010-08-241-14/+12
| | | | llvm-svn: 111974
* Fix thumb2 mode loads to have the correct operand ordering. Add a todoEric Christopher2010-08-241-4/+9
| | | | | | to fix this in the port. llvm-svn: 111973
* Update comment.Eric Christopher2010-08-241-1/+2
| | | | llvm-svn: 111887
* Fix the opcode and the operands for the load instruction.Eric Christopher2010-08-241-2/+5
| | | | llvm-svn: 111885
* Add register class hack that needs to go away, but makes it more obviousEric Christopher2010-08-241-12/+35
| | | | | | | | that it needs to go away. Use loadRegFromStackSlot where possible. Also, remember to update the value map. llvm-svn: 111883
* Add some more debugging code, make it more obvious that RegOffset isEric Christopher2010-08-241-12/+20
| | | | | | getting an address for an object and select some default values. llvm-svn: 111871
* Don't need the extra register here.Eric Christopher2010-08-231-6/+4
| | | | llvm-svn: 111864
* Add some more "get address into register" code and a more TODOs/FIXMEs.Eric Christopher2010-08-231-0/+22
| | | | llvm-svn: 111860
* Add an ARMFunctionInfo member and use it.Eric Christopher2010-08-231-1/+5
| | | | llvm-svn: 111854
* Start getting ARM loads/address computation going.Eric Christopher2010-08-231-0/+73
| | | | llvm-svn: 111850
* Fix loop conditionals (MO.isDef() asserts that it's a reg) andEric Christopher2010-08-201-1/+2
| | | | | | move some constraints around. llvm-svn: 111594
* Add a couple of random comments.Eric Christopher2010-08-201-0/+3
| | | | llvm-svn: 111592
* Silence warning.Eric Christopher2010-08-191-1/+1
| | | | llvm-svn: 111518
OpenPOWER on IntegriCloud