summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMMCInstLower.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move all of the header files which are involved in modelling the LLVM IRChandler Carruth2013-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-1/+1
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-071-5/+2
| | | | llvm-svn: 149961
* Ignore register mask operands when lowering instructions to MC.Jakob Stoklund Olesen2012-01-181-0/+3
| | | | | | | This is similar to implicit register operands. MC doesn't understand register liveness and call clobbers. llvm-svn: 148437
* Sink ARMMCExpr and ARMAddressingModes into MC layer. First step to separate ↵Evan Cheng2011-07-201-1/+1
| | | | | | ARM MC code from target. llvm-svn: 135636
* Use TableGen'erated pseudo lowering for ARM.Jim Grosbach2011-07-081-54/+64
| | | | | | | | | Hook up the TableGen lowering for simple pseudo instructions for ARM and use it for a subset of the many pseudos the backend has as proof of concept. More conversions to come. llvm-svn: 134705
* Add needed braces.Bill Wendling2011-01-261-1/+2
| | | | llvm-svn: 124273
* Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a stepEvan Cheng2011-01-131-8/+18
| | | | | | | | in the right direction. It eliminated some hacks and will unblock codegen work. But it's far from being done. It doesn't reject illegal expressions, e.g. (FOO - :lower16:BAR). It also doesn't work in Thumb2 mode at all. llvm-svn: 123369
* Move the ARMAsmPrinter class defintiion into a header file.Jim Grosbach2010-12-011-3/+3
| | | | llvm-svn: 120551
* Trailing whitespace.Jim Grosbach2010-11-301-3/+3
| | | | llvm-svn: 120497
* trim #includes.Chris Lattner2010-11-141-5/+1
| | | | llvm-svn: 119075
* rename LowerToMCInst -> LowerARMMachineInstrToMCInst.Chris Lattner2010-11-141-1/+2
| | | | llvm-svn: 119071
* even more simplifications. ARM MCInstLowering is now justChris Lattner2010-11-141-12/+11
| | | | | | | a single function instead of a class. It doesn't need the complexity that X86 does. llvm-svn: 119070
* more shrinkificationChris Lattner2010-11-141-5/+1
| | | | llvm-svn: 119068
* more simplifications.Chris Lattner2010-11-141-84/+17
| | | | llvm-svn: 119067
* simplify and tidy upChris Lattner2010-11-141-27/+10
| | | | llvm-svn: 119066
* Add support for ELF PLT references for ARM MC asm printing. Adding aJim Grosbach2010-09-221-9/+22
| | | | | | | | new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure there's a more straightforward way to get the printing difference captured. (i.e., x86 uses @PLT, ARM uses (PLT)). llvm-svn: 114613
* Enable a few additional asserts in MC instruction lowering.Jim Grosbach2010-09-221-9/+6
| | | | llvm-svn: 114601
* Remove a few commented out bitsJim Grosbach2010-09-221-14/+0
| | | | llvm-svn: 114576
* handle the upper16/lower16 target operand flags on symbol references for MCJim Grosbach2010-09-171-5/+35
| | | | | | instruction lowering. llvm-svn: 114191
* Make sure to promote single precision floats to double before extracting themJim Grosbach2010-09-161-2/+4
| | | | | | from the APFloat. llvm-svn: 114096
* store MC FP immediates as a double instead of as an APFloat, thus avoiding anJim Grosbach2010-09-161-1/+2
| | | | | | unnecessary dtor for MCOperand. llvm-svn: 114064
* Add support for floating point immediates to MC instruction printing. ARMJim Grosbach2010-09-151-0/+4
| | | | | | | | | | | VFP instructions use it for loading some constants, so implement that handling. Not thrilled with adding a member to MCOperand, but not sure there's much of a better option that's not pretty fragile (like putting a double in the union instead and just assuming that's good enough). Suggestions welcome... llvm-svn: 113996
* Don't ignore the CPSR implicit def when lowering a MachineInstruction to an ↵Jim Grosbach2010-09-141-2/+3
| | | | | | MCInst. llvm-svn: 113847
* trailing whitespaceJim Grosbach2010-09-131-14/+14
| | | | llvm-svn: 113768
* sink the arm implementations of ASmPrinter and MCInstLowerChris Lattner2010-07-191-0/+162
out of the AsmPrinter directory into libarm. Now the ARM InstPrinters depend jsut on the MC stuff, not on vmcore or codegen. llvm-svn: 108783
OpenPOWER on IntegriCloud