aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* add a new mapChris Lattner2005-05-141-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22017 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a way to construct an arbitrary node, cleanly.Chris Lattner2005-05-141-2/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22008 91177308-0d34-0410-b5e6-96231b3b80d8
* add accessorsChris Lattner2005-05-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22007 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the symbolic register name in a register allocator debug dump.Chris Lattner2005-05-141-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22002 91177308-0d34-0410-b5e6-96231b3b80d8
* add TAILCALL nodeChris Lattner2005-05-132-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21956 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new methodChris Lattner2005-05-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21929 91177308-0d34-0410-b5e6-96231b3b80d8
* allow a virtual register to be associated with live-in values.Chris Lattner2005-05-131-7/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21927 91177308-0d34-0410-b5e6-96231b3b80d8
* rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN.Chris Lattner2005-05-121-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21915 91177308-0d34-0410-b5e6-96231b3b80d8
* new methodChris Lattner2005-05-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21869 91177308-0d34-0410-b5e6-96231b3b80d8
* Add READPORT, WRITEPORT, READIO, WRITEIO nodes, wrap long linesChris Lattner2005-05-092-6/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21823 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement count leading zeros (ctlz), count trailing zeros (cttz), and countAndrew Lenharth2005-05-032-4/+13
| | | | | | | | | | population (ctpop). Generic lowering is implemented, however only promotion is implemented for SelectionDAG at the moment. More coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21676 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding ModuloSched SB.Tanya Lattner2005-05-011-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21648 91177308-0d34-0410-b5e6-96231b3b80d8
* Add FSQRT, FSIN, FCOS nodes, patch contributed by Morten OfstadChris Lattner2005-04-281-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21605 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement Value* tracking for loads and stores in the selection DAG. This ↵Andrew Lenharth2005-04-272-5/+51
| | | | | | | | | enables one to use alias analysis in the backends. (TRUNK)Stores and (EXT|ZEXT|SEXT)Loads have an extra SDOperand which is a SrcValueSDNode which contains the Value*. Note that if the operation is introduced by the backend, it will still have the operand, but the value* will be null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21599 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert tabs to spacesMisha Brukman2005-04-224-46/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21438 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-2120-191/+191
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new helper method which returns the and that is equivalent to whatChris Lattner2005-04-131-0/+4
| | | | | | | ZERO_EXTEND_INREG was. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21264 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the ZERO_EXTEND_INREG node which is redundant with ANDChris Lattner2005-04-131-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21263 91177308-0d34-0410-b5e6-96231b3b80d8
* rename addU64Imm() to addImm64()Duraid Madina2005-04-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21223 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate major source of VC++ "possible loss of data" warnings.Jeff Cohen2005-04-111-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21215 91177308-0d34-0410-b5e6-96231b3b80d8
* * store immediate values as int64_t, not int. come on, we should be happyDuraid Madina2005-04-102-3/+22
| | | | | | | | | | | | | | | when there are immediates, let's not worry about the memory overhead of this :) * add addU64Imm(uint64_t val) to machineinstrbuilder (seriously: this seems required to support 64-bit immediates cleanly. if it _really_ gets on your nerves, feel free to pull it out ;) ) coming up next week: "all your floating point constants are belong to us" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21208 91177308-0d34-0410-b5e6-96231b3b80d8
* add routines to track the livein/out set for a functionChris Lattner2005-04-091-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21179 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new nodeChris Lattner2005-04-091-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21162 91177308-0d34-0410-b5e6-96231b3b80d8
* fix this method for 64-bit constantsChris Lattner2005-04-081-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21158 91177308-0d34-0410-b5e6-96231b3b80d8
* document these nodes, as they are nonobviousChris Lattner2005-04-061-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21108 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64bNate Begeman2005-04-051-1/+1
| | | | | | | multiply. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21102 91177308-0d34-0410-b5e6-96231b3b80d8
* a wise man once said:Duraid Madina2005-04-031-4/+4
| | | | | | | "!!!!!!!! IF YOU CHANGE SPACES TO TABS, YOU WILL BE KILLED!!!!!!" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21062 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for prefix/suffix strings to go around GlobalValue(s)Duraid Madina2005-04-021-0/+19
| | | | | | | | | | | | (which may or be function pointers) in the asmprinter. For the moment, this changes nothing, except the IA64 backend which can use this to write: data8.ua @fptr(blah__blah__mangled_function_name) (by setting FunctionAddrPrefix/Suffix to "@fptr(" / ")") git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21024 91177308-0d34-0410-b5e6-96231b3b80d8
* Add two happy new nodes for FABS and FNEGChris Lattner2005-04-021-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21007 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a commentChris Lattner2005-04-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21003 91177308-0d34-0410-b5e6-96231b3b80d8
* add some new nodes.Chris Lattner2005-04-021-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21000 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ISD::UNDEF nodeNate Begeman2005-04-011-0/+3
| | | | | | | | | | Teach the SelectionDAG code how to expand and promote it Have PPC32 LowerCallTo generate ISD::UNDEF for int arg regs used up by fp arguments, but not shadowing their value. This allows us to do the right thing with both fixed and vararg floating point arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20988 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling of `corresponds'Misha Brukman2005-03-311-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20966 91177308-0d34-0410-b5e6-96231b3b80d8
* PCMarker support for DAG and AlphaAndrew Lenharth2005-03-311-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20965 91177308-0d34-0410-b5e6-96231b3b80d8
* daintyDuraid Madina2005-03-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20653 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the live interval analysis pass to be a bit more aggressive aboutChris Lattner2005-03-091-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numbering values in live ranges for physical registers. The alpha backend currently generates code that looks like this: vreg = preg ... preg = vreg use preg ... preg = vreg use preg etc. Because vreg contains the value of preg coming in, each of the copies back into preg contain that initial value as well. In the case of the Alpha, this allows this testcase: void "foo"(int %blah) { store int 5, int *%MyVar store int 12, int* %MyVar2 ret void } to compile to: foo: ldgp $29, 0($27) ldiq $0,5 stl $0,MyVar ldiq $0,12 stl $0,MyVar2 ret $31,($26),1 instead of: foo: ldgp $29, 0($27) bis $29,$29,$0 ldiq $1,5 bis $0,$0,$29 stl $1,MyVar ldiq $1,12 bis $0,$0,$29 stl $1,MyVar2 ret $31,($26),1 This does not seem to have any noticable effect on X86 code. This fixes PR535. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20536 91177308-0d34-0410-b5e6-96231b3b80d8
* Map doubles from integers, not the double itself.Chris Lattner2005-02-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20229 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve spellingChris Lattner2005-01-302-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19931 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust to ilist changes.Chris Lattner2005-01-292-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19923 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an accessor.Chris Lattner2005-01-231-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19794 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose more information from register allocation to passes that run afterChris Lattner2005-01-231-0/+26
| | | | | | | it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19788 91177308-0d34-0410-b5e6-96231b3b80d8
* Give SelectionDAG a TargetLowering instance instead of TM instance.Chris Lattner2005-01-231-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19778 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of node depth for each nodeChris Lattner2005-01-211-6/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19732 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS ↵Chris Lattner2005-01-201-4/+6
| | | | | | instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19713 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an accessor for targets that pass args in regsChris Lattner2005-01-191-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19702 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of the returned value type as well.Chris Lattner2005-01-181-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19669 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow setcc operations to have non-bool types.Chris Lattner2005-01-182-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19655 91177308-0d34-0410-b5e6-96231b3b80d8
* Make methods private, add a method.Chris Lattner2005-01-171-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19634 91177308-0d34-0410-b5e6-96231b3b80d8
* Add methodsChris Lattner2005-01-171-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19627 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some helper methods.Chris Lattner2005-01-151-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19570 91177308-0d34-0410-b5e6-96231b3b80d8