aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
Commit message (Collapse)AuthorAgeFilesLines
* expose DWARF_LABEL opcode# so the branch folder can update debug info properly.Chris Lattner2006-10-171-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31024 91177308-0d34-0410-b5e6-96231b3b80d8
* update commentChris Lattner2006-10-171-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31023 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.Evan Cheng2006-10-131-1/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30945 91177308-0d34-0410-b5e6-96231b3b80d8
* it is easier to implement these when they are virtualChris Lattner2006-10-131-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30944 91177308-0d34-0410-b5e6-96231b3b80d8
* allow branch reversal to failChris Lattner2006-10-131-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30943 91177308-0d34-0410-b5e6-96231b3b80d8
* replace the existing branch inspection/modification APIs with something moreChris Lattner2006-10-131-17/+44
| | | | | | | useful and general. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30940 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose method and ivars for measuring inline asm length properly.Chris Lattner2006-10-131-2/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30934 91177308-0d34-0410-b5e6-96231b3b80d8
* Merging ISD::LOAD and ISD::LOADX. Added LoadSDNode to represent load nodes.Evan Cheng2006-10-091-7/+5
| | | | | | | | | | | | | | | Chain and address ptr remains as operands. SrcValue, extending mode, extending VT (or rather loaded VT before extension) are now instance variables of LoadSDNode. Introduce load / store addressing modes to represent pre- and post-indexed load and store. Also added an additional operand offset that is only used in post-indexed mode (i.e. base ptr += offset after load/store). Added alignment info (not yet used) and isVolatile fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30843 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for targets to declare that they use a GOTChris Lattner2006-10-061-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30777 91177308-0d34-0410-b5e6-96231b3b80d8
* remove JumpTableTextSectionChris Lattner2006-10-051-8/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30746 91177308-0d34-0410-b5e6-96231b3b80d8
* move getSectionForFunction to AsmPrinter.Chris Lattner2006-10-051-8/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30734 91177308-0d34-0410-b5e6-96231b3b80d8
* Give TargetAsmInfo a virtual dtor, add a new getSectionForFunction method.Chris Lattner2006-10-051-2/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30732 91177308-0d34-0410-b5e6-96231b3b80d8
* Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add anEvan Cheng2006-10-041-0/+32
| | | | | | | extra operand to LOADX to specify the exact value extension type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30714 91177308-0d34-0410-b5e6-96231b3b80d8
* - Added a hook processFunctionBeforeCalleeSaveScn(). This is called by PEI justEvan Cheng2006-09-281-4/+10
| | | | | | | | | | | before it determines which callee-save registers are to be spilled. This allows the target to make changes such as forcing certain physical registers to be spilled. - Modified comments. It's important to note the order of registers in the array returns by getCalleeSaveRegs() determines the order of callee save spill code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30635 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for targets that want to do something with the llvm.used list,Chris Lattner2006-09-261-0/+8
| | | | | | | because they have an aggressive linker that does dead code stripping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30604 91177308-0d34-0410-b5e6-96231b3b80d8
* order this properly to avoid warnings in TargetAsmInfo.cpp. Add a commentChris Lattner2006-09-251-1/+4
| | | | | | | in a format that matches every other ivars in this class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30603 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for other relocation bases to jump tables, as well as custom asm ↵Andrew Lenharth2006-09-241-0/+4
| | | | | | directives git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30593 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove condition on delete.Jim Laskey2006-09-071-4/+4
| | | | | | | | | 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
* Make target asm info a property of the target machine.Jim Laskey2006-09-072-2/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate target specifc asm properties from asm printers.Jim Laskey2006-09-061-0/+427
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30127 91177308-0d34-0410-b5e6-96231b3b80d8
* add setJumpBufSize() and setJumpBufAlignment() to target-lowering.Duraid Madina2006-09-041-0/+31
| | | | | | | | Call these from your backend to enjoy setjmp/longjmp goodness, see lib/Target/IA64/IA64ISelLowering.cpp for an example git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30095 91177308-0d34-0410-b5e6-96231b3b80d8
* Completely rearchitect the interface between targets and the pass manager.Chris Lattner2006-09-042-11/+96
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Eliminate target name.Chris Lattner2006-09-031-14/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30071 91177308-0d34-0410-b5e6-96231b3b80d8
* update some commentsChris Lattner2006-08-241-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29853 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify some methods. Patch provided by Anton Vayvod, thanks!Chris Lattner2006-08-171-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29756 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify some methods.Chris Lattner2006-08-101-4/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29592 91177308-0d34-0410-b5e6-96231b3b80d8
* update commentChris Lattner2006-08-031-8/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29507 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some more dead sparcv9 support stuffChris Lattner2006-08-031-25/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29506 91177308-0d34-0410-b5e6-96231b3b80d8
* Resolve BB references with relocation.Evan Cheng2006-07-271-14/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29351 91177308-0d34-0410-b5e6-96231b3b80d8
* Move synchronizeICache from TargetJITInfo into a static function in ↵Evan Cheng2006-07-271-4/+0
| | | | | | JITEmitter.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29334 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.Chris Lattner2006-07-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29307 91177308-0d34-0410-b5e6-96231b3b80d8
* - Refactor the code that resolve basic block references to a TargetJITInfoEvan Cheng2006-07-251-0/+19
| | | | | | | | | | | method. - Added synchronizeICache() to TargetJITInfo. It is called after each block of code is emitted to flush the icache. This ensures correct execution on targets that have separate dcache and icache. - Added PPC / Mac OS X specific code to do icache flushing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29276 91177308-0d34-0410-b5e6-96231b3b80d8
* Use an enumeration to eliminate data relocations.Jim Laskey2006-07-212-18/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29249 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sub- and super- register classes const.Evan Cheng2006-07-191-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29200 91177308-0d34-0410-b5e6-96231b3b80d8
* Added option -code-model to set code model (only used in 64-bit) mode. ValidEvan Cheng2006-07-061-0/+18
| | | | | | | values include small, kernel, medium, large, and default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29009 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean upEvan Cheng2006-06-171-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28851 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the targetdata ctor by not passing in a "targetname" which is alwaysChris Lattner2006-06-161-8/+14
| | | | | | | ignored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28829 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove ctor with each piece specifyable (which causes overload ambiguities),Chris Lattner2006-06-161-10/+11
| | | | | | | add a new init method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28828 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid undesirable behavior when assert is not enabled.Evan Cheng2006-06-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28793 91177308-0d34-0410-b5e6-96231b3b80d8
* Instructions with variable operands (variable_ops) can have a number requiredEvan Cheng2006-06-151-1/+14
| | | | | | | | | | | | | | operands. e.g. def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops), "call {*}$dst", [(X86call GR32:$dst)]>; TableGen should emit operand informations for the "required" operands. Added a target instruction info flag M_VARIABLE_OPS to indicate the target instruction may have more operands in addition to the minimum required operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28791 91177308-0d34-0410-b5e6-96231b3b80d8
* Start on my todo listAndrew Lenharth2006-06-121-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28752 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-05-241-1/+1
| | | | | | | | | Minor tweaks in public headers and a few .cpp files so that LLVM can build successfully with -pedantic and projects using LLVM with -pedantic don't get warnings from LLVM. There's still more -pedantic warnings to fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28453 91177308-0d34-0410-b5e6-96231b3b80d8
* -enable-unsafe-fp-math implies -enable-finite-only-fp-mathEvan Cheng2006-05-231-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28437 91177308-0d34-0410-b5e6-96231b3b80d8
* Added option -enable-finite-only-fp-math. When on, the codegen can assume thatEvan Cheng2006-05-231-0/+7
| | | | | | | | FP arithmetic arguments and results are never NaNs or +=Infs. This includes ignoring parity flag (PF) when checking for FP equality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28432 91177308-0d34-0410-b5e6-96231b3b80d8
* Make TargetData strings less redundant.Owen Anderson2006-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28423 91177308-0d34-0410-b5e6-96231b3b80d8
* lib/Target/Target.tdEvan Cheng2006-05-181-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28386 91177308-0d34-0410-b5e6-96231b3b80d8
* Another typo. Pointed out by Nate Begeman.Evan Cheng2006-05-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28353 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a mis-leading comment.Evan Cheng2006-05-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28350 91177308-0d34-0410-b5e6-96231b3b80d8
* There is now a default impl of this methodChris Lattner2006-05-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28336 91177308-0d34-0410-b5e6-96231b3b80d8
* Move this code to a common placeAndrew Lenharth2006-05-161-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28329 91177308-0d34-0410-b5e6-96231b3b80d8