summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetMachine.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* r70270 isn't ready yet. Back this out. Sorry for the noise.Bill Wendling2009-04-281-16/+12
| | | | llvm-svn: 70275
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-281-12/+16
| | | | | | | | | | | use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... llvm-svn: 70270
* CodeGen still defaults to non-verbose asm, but llc now overrides it and ↵Evan Cheng2009-03-251-4/+4
| | | | | | default to verbose. llvm-svn: 67668
* ARM target now also recognize triplets like thumbv6-apple-darwin and set ↵Evan Cheng2009-03-091-2/+5
| | | | | | thumb mode and arch subversion. Eventually thumb triplets will go way and replaced with function notes. llvm-svn: 66435
* Overhaul my earlier submission due to feedback. It's a large patch, but most ofBill Wendling2009-02-241-3/+3
| | | | | | | | | | | | them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. llvm-svn: 65379
* Adds extern "C" ints to the .cpp files that use RegisterTarget, asOscar Fuentes2008-11-151-0/+7
| | | | | | | | | | | well as 2 files that use "Registrator"s. These are to be used by the MSVC builds, as the Win32 linker does not include libs that are otherwise unreferenced, even if global constructors in the lib have side-effects. Patch by Scott Graham! llvm-svn: 59378
* Tell ARMJITInfo if codegen relocation is PIC. It changes how function stubs ↵Evan Cheng2008-11-081-1/+1
| | | | | | are generated. llvm-svn: 58896
* ARM JIT should observe -relocation-model command line option.Evan Cheng2008-10-301-2/+5
| | | | llvm-svn: 58433
* Fix command-line option printing to print two spaces where needed,Dan Gohman2008-10-141-2/+2
| | | | | | | | | instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
* Reapply 56585:56589 with proper fix for some gcc versionsAnton Korobeynikov2008-09-251-1/+1
| | | | llvm-svn: 56621
* Temporarily backing out 56585:56589 to unbreak the build.Evan Cheng2008-09-251-1/+1
| | | | llvm-svn: 56607
* Get rid of virtual inheritance for ARM TAIAnton Korobeynikov2008-09-241-1/+1
| | | | llvm-svn: 56587
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-3/+4
| | | | llvm-svn: 55092
* Move ARM to pluggable asmprinterAnton Korobeynikov2008-08-171-5/+19
| | | | llvm-svn: 54889
* Switch ARM to new section handling stuffAnton Korobeynikov2008-08-071-4/+11
| | | | llvm-svn: 54458
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-5/+3
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Match things like 'armv5tejl-unknown-linux-gnu' for PR2290Chris Lattner2008-05-061-1/+2
| | | | llvm-svn: 50698
* Use PassManagerBase instead of FunctionPassManager for functionsDan Gohman2008-03-111-5/+5
| | | | | | | | that merely add passes. This allows them to be used with either FunctionPassManager or PassManager, or even with a custom new kind of pass manager. llvm-svn: 48256
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+1
| | | | llvm-svn: 45418
* Enable if-conversion for ARM by default.Evan Cheng2007-09-201-3/+3
| | | | llvm-svn: 42156
* Initial JIT support for ARM by Raul Fernandes Herbster.Evan Cheng2007-08-071-2/+2
| | | | llvm-svn: 40887
* Added -print-emitted-asm to print out JIT generated asm to cerr.Evan Cheng2007-07-201-2/+6
| | | | llvm-svn: 40123
* The various "getModuleMatchQuality" implementations should returnChris Lattner2007-07-091-0/+5
| | | | | | zero if they see a target triple they don't understand. llvm-svn: 38463
* Initial ARM JIT support by Raul Fernandes Herbster.Evan Cheng2007-07-051-2/+49
| | | | llvm-svn: 37926
* Move if-conversion after all passes that may use register scavenger.Evan Cheng2007-05-161-8/+3
| | | | llvm-svn: 37120
* Hooks for predication support.Evan Cheng2007-05-161-0/+11
| | | | llvm-svn: 37093
* Implement getTargetLowering() or else LSR won't be using ARM specific hooks.Evan Cheng2007-03-131-1/+2
| | | | llvm-svn: 35077
* Added -march=thumb; removed -enable-thumb.Evan Cheng2007-02-231-10/+23
| | | | llvm-svn: 34521
* Generalize TargetData strings, to support more interesting forms of data.Chris Lattner2007-02-141-4/+6
| | | | | | Patch by Scott Michel. llvm-svn: 34266
* Add space between // and the comment.Lauro Ramos Venancio2007-02-131-2/+2
| | | | llvm-svn: 34246
* Add ABI information to ARM subtarget.Lauro Ramos Venancio2007-02-131-3/+5
| | | | llvm-svn: 34245
* According to ARM EABI, 8-bytes function arguments must be 8-bytes aligned.Lauro Ramos Venancio2007-02-131-2/+2
| | | | llvm-svn: 34241
* Also set alignment of stack-based structs to 4 in thumb mode.Evan Cheng2007-02-011-6/+6
| | | | llvm-svn: 33741
* Thumb add sp, #imm requires the immediate value be multiple of 4. For now,Evan Cheng2007-01-311-2/+6
| | | | | | change preferred alignment of short, byte, bool to 4. llvm-svn: 33722
* ARM AAPCS abi (Linux, etc.) requires 8-byte double / long alignment; MacEvan Cheng2007-01-221-2/+2
| | | | | | requires 4-bytes alignment. llvm-svn: 33448
* Double and Long preferred alignment is 4 for Darwin, 8 for Linux.Evan Cheng2007-01-221-1/+5
| | | | llvm-svn: 33440
* Clean up ARM PEI code.Evan Cheng2007-01-201-4/+1
| | | | llvm-svn: 33389
* isDarwin -> isTargetDarwinEvan Cheng2007-01-191-1/+1
| | | | llvm-svn: 33366
* ARM backend contribution from Apple.Evan Cheng2007-01-191-10/+21
| | | | llvm-svn: 33353
* revert previous patchRafael Espindola2006-11-031-2/+0
| | | | llvm-svn: 31411
* add createCFGSimplificationPass to ARMTargetMachine::addInstSelectorRafael Espindola2006-11-031-0/+2
| | | | llvm-svn: 31400
* most ARM targets are little endianRafael Espindola2006-10-091-1/+1
| | | | llvm-svn: 30826
* Implement a MachineFunctionPass to fix the mul instructionRafael Espindola2006-09-191-1/+6
| | | | llvm-svn: 30485
* 1. Remove condition on delete.Jim Laskey2006-09-071-0/+7
| | | | | | | | 2. Protect and outline createTargetAsmInfo. 3. Misc. kruft. llvm-svn: 30169
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-041-50/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 30081
* Simplify target construction.Chris Lattner2006-09-031-2/+1
| | | | llvm-svn: 30070
* initial support for selectRafael Espindola2006-08-211-0/+3
| | | | llvm-svn: 29802
* Declare the callee saved regsRafael Espindola2006-08-161-1/+2
| | | | | | | Remove the hard coded store and load of the link register Implement ARMFrameInfo llvm-svn: 29727
* correctly set LocalAreaOffset of TargetFrameInfoRafael Espindola2006-08-091-1/+1
| | | | llvm-svn: 29589
* Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner2006-06-161-3/+1
| | | | | | | Remove explicit casts to std::string now that there is no overload resolution issues in the TargetData ctors. llvm-svn: 28830
OpenPOWER on IntegriCloud