aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMTargetMachine.cpp
AgeCommit message (Collapse)Author
2007-05-16Hooks for predication support.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-13Implement getTargetLowering() or else LSR won't be using ARM specific hooks.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35077 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-23Added -march=thumb; removed -enable-thumb.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34521 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14Generalize TargetData strings, to support more interesting forms of data.Chris Lattner
Patch by Scott Michel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34266 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Add space between // and the comment.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34246 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13Add ABI information to ARM subtarget.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34245 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13According to ARM EABI, 8-bytes function arguments must be 8-bytes aligned.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34241 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01Also set alignment of stack-based structs to 4 in thumb mode.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33741 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31Thumb add sp, #imm requires the immediate value be multiple of 4. For now,Evan Cheng
change preferred alignment of short, byte, bool to 4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33722 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22ARM AAPCS abi (Linux, etc.) requires 8-byte double / long alignment; MacEvan Cheng
requires 4-bytes alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33448 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22Double and Long preferred alignment is 4 for Darwin, 8 for Linux.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33440 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20Clean up ARM PEI code.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33389 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19isDarwin -> isTargetDarwinEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19ARM backend contribution from Apple.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33353 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03revert previous patchRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31411 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03add createCFGSimplificationPass to ARMTargetMachine::addInstSelectorRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09most ARM targets are little endianRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30826 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19Implement a MachineFunctionPass to fix the mul instructionRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30485 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-071. Remove condition on delete.Jim Laskey
2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30169 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04Completely rearchitect the interface between targets and the pass manager.Chris Lattner
This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30081 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-03Simplify target construction.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30070 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21initial support for selectRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-16Declare the callee saved regsRafael Espindola
Remove the hard coded store and load of the link register Implement ARMFrameInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29727 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09correctly set LocalAreaOffset of TargetFrameInfoRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29589 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner
Remove explicit casts to std::string now that there is no overload resolution issues in the TargetData ctors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28830 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-20Make all of the TargetMachine subclasses use the new string TargetData methods.Owen Anderson
This is part of the on-going work on PR 761. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-14added a skeleton of the ARM backendRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28301 91177308-0d34-0410-b5e6-96231b3b80d8