Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Added invariant field to the DAG.getLoad method and changed all calls. | Pete Cooper | 2011-11-08 | 1 | -15/+15 | |
| | | | | | | When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or moved around other memory accesses llvm-svn: 144100 | |||||
* | Code generation for 'fence' instruction. | Eli Friedman | 2011-07-27 | 1 | -1/+3 | |
| | | | | llvm-svn: 136283 | |||||
* | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 135375 | |||||
* | Add an intrinsic and codegen support for fused multiply-accumulate. The intent | Cameron Zwarich | 2011-07-08 | 1 | -0/+2 | |
| | | | | | | is to use this for architectures that have a native FMA instruction. llvm-svn: 134742 | |||||
* | Remove getRegClassForInlineAsmConstraint from sparc. | Eric Christopher | 2011-06-29 | 1 | -21/+0 | |
| | | | | | | Part of rdar://9643582 llvm-svn: 134083 | |||||
* | Add a parameter to CCState so that it can access the MachineFunction. | Eric Christopher | 2011-06-08 | 1 | -9/+9 | |
| | | | | | | | | No functional change. Part of PR6965 llvm-svn: 132763 | |||||
* | Make the logic for determining function alignment more explicit. No ↵ | Eli Friedman | 2011-05-06 | 1 | -5/+2 | |
| | | | | | | functionality change. llvm-svn: 131012 | |||||
* | Remove unused variables caught by GCC's -Wunused-but-set-variable. | Benjamin Kramer | 2011-05-03 | 1 | -2/+0 | |
| | | | | llvm-svn: 130755 | |||||
* | Fix a ton of comment typos found by codespell. Patch by | Chris Lattner | 2011-04-15 | 1 | -1/+1 | |
| | | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558 | |||||
* | Revert r124611 - "Keep track of incoming argument's location while emitting ↵ | Devang Patel | 2011-02-21 | 1 | -1/+1 | |
| | | | | | | | | | | | LiveIns." In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body. This requires some coordination with debugger to get this working. - The debugger needs to be aware of prolog_end attribute attached with line table entries. - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+) llvm-svn: 126155 | |||||
* | Generate correct Sparc32 ABI compliant code for functions that return a struct. | Venkatraman Govindaraju | 2011-02-21 | 1 | -2/+39 | |
| | | | | llvm-svn: 126108 | |||||
* | Swap VT and DebugLoc operands of getExtLoad() for consistency with | Stuart Hastings | 2011-02-16 | 1 | -1/+1 | |
| | | | | | | other getNode() methods. Radar 9002173. llvm-svn: 125665 | |||||
* | Keep track of incoming argument's location while emitting LiveIns. | Devang Patel | 2011-01-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 124611 | |||||
* | Pass sret arguments through the stack instead of through registers in Sparc ↵ | Venkatraman Govindaraju | 2011-01-22 | 1 | -2/+64 | |
| | | | | | | backend. It makes the code generated more compliant with the sparc32 ABI. llvm-svn: 124030 | |||||
* | Sparc backend: | Venkatraman Govindaraju | 2011-01-21 | 1 | -16/+16 | |
| | | | | | | | Rename FLUSH to FLUSHW. Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used. llvm-svn: 123997 | |||||
* | Implement support for byval arguments in Sparc backend. | Venkatraman Govindaraju | 2011-01-21 | 1 | -1/+31 | |
| | | | | llvm-svn: 123974 | |||||
* | SPARC backend: Modified LowerCall and LowerFormalArguments so that they use ↵ | Venkatraman Govindaraju | 2011-01-18 | 1 | -269/+216 | |
| | | | | | | CallingConv assignments. llvm-svn: 123749 | |||||
* | Implement RETURNADDR and FRAMEADDR lowering in SPARC backend. | Venkatraman Govindaraju | 2011-01-12 | 1 | -3/+74 | |
| | | | | llvm-svn: 123310 | |||||
* | Fix SPARC backend call instruction so that arguments passed through registers | Venkatraman Govindaraju | 2011-01-12 | 1 | -5/+17 | |
| | | | | | | | are correctly marked as used instead of passing all possible argument registers as used. llvm-svn: 123301 | |||||
* | SPARC backend fix: correctly passing arguments through stack | Venkatraman Govindaraju | 2010-12-29 | 1 | -23/+51 | |
| | | | | llvm-svn: 122626 | |||||
* | Multiple SPARC backend fixes: added Y register; updated select_cc, subx, ↵ | Venkatraman Govindaraju | 2010-12-28 | 1 | -2/+2 | |
| | | | | | | | | subxcc defs/uses; and fixed CustomInserter. llvm-svn: 122607 | |||||
* | rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for | Chris Lattner | 2010-12-21 | 1 | -5/+5 | |
| | | | | | | | something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310 | |||||
* | Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. | Wesley Peck | 2010-11-23 | 1 | -19/+19 | |
| | | | | llvm-svn: 119990 | |||||
* | Inside the calling convention logic LocVT is always a simple | Duncan Sands | 2010-11-03 | 1 | -1/+1 | |
| | | | | | | | | | | value type, so there is no point in passing it around using an EVT. Use the simpler MVT everywhere. Rather than trying to propagate this information maximally in all the code that using the calling convention stuff, I chose to do a mainly low impact change instead. llvm-svn: 118167 | |||||
* | update a bunch of code to use the MachinePointerInfo version of getStore. | Chris Lattner | 2010-09-21 | 1 | -7/+8 | |
| | | | | llvm-svn: 114461 | |||||
* | propagate MachinePointerInfo through various uses of the old | Chris Lattner | 2010-09-21 | 1 | -1/+1 | |
| | | | | | | SelectionDAG::getExtLoad overload, and eliminate it. llvm-svn: 114446 | |||||
* | convert the targets off the non-MachinePointerInfo of getLoad. | Chris Lattner | 2010-09-21 | 1 | -14/+16 | |
| | | | | llvm-svn: 114410 | |||||
* | Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument ↵ | Evan Cheng | 2010-07-07 | 1 | -1/+1 | |
| | | | | | | for consistency sake. llvm-svn: 107820 | |||||
* | Split the SDValue out of OutputArg so that SelectionDAG-independent | Dan Gohman | 2010-07-07 | 1 | -5/+7 | |
| | | | | | | code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786 | |||||
* | Propagate debug loc. | Devang Patel | 2010-07-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 107710 | |||||
* | Reapply r107655 with fixes; insert the pseudo instruction into | Dan Gohman | 2010-07-06 | 1 | -14/+13 | |
| | | | | | | | the block before calling the expansion hook. And don't put EFLAGS in a mbb's live-in list twice. llvm-svn: 107691 | |||||
* | Revert r107655. | Dan Gohman | 2010-07-06 | 1 | -13/+14 | |
| | | | | llvm-svn: 107668 | |||||
* | Fix a bunch of custom-inserter functions to handle the case where | Dan Gohman | 2010-07-06 | 1 | -14/+13 | |
| | | | | | | the pseudo instruction is not at the end of the block. llvm-svn: 107655 | |||||
* | Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill ↵ | Evan Cheng | 2010-07-03 | 1 | -5/+5 | |
| | | | | | | slots so it's always false. llvm-svn: 107550 | |||||
* | Eliminate unnecessary uses of getZExtValue(). | Dan Gohman | 2010-06-18 | 1 | -3/+3 | |
| | | | | llvm-svn: 106279 | |||||
* | Get rid of the EdgeMapping map. Instead, just check for BasicBlock | Dan Gohman | 2010-05-01 | 1 | -6/+2 | |
| | | | | | | changes before doing phi lowering for switches. llvm-svn: 102809 | |||||
* | Use const qualifiers with TargetLowering. This eliminates several | Dan Gohman | 2010-04-17 | 1 | -7/+8 | |
| | | | | | | | | | | | | | const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635 | |||||
* | Move per-function state out of TargetLowering subclasses and into | Dan Gohman | 2010-04-17 | 1 | -5/+11 | |
| | | | | | | MachineFunctionInfo subclasses. llvm-svn: 101634 | |||||
* | Add const qualifiers to CodeGen's use of LLVM IR constructs. | Dan Gohman | 2010-04-15 | 1 | -2/+2 | |
| | | | | llvm-svn: 101334 | |||||
* | Move TLOF implementations to libCodegen to resolve layering violation. | Anton Korobeynikov | 2010-02-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 96288 | |||||
* | Remove an assumption of default arguments. This is in anticipation of a | David Greene | 2010-02-15 | 1 | -18/+31 | |
| | | | | | | change to SelectionDAG build APIs. llvm-svn: 96237 | |||||
* | Revert 95130. | Evan Cheng | 2010-02-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 95160 | |||||
* | Pass callsite return type to TargetLowering::LowerCall and use that to check ↵ | Evan Cheng | 2010-02-02 | 1 | -1/+1 | |
| | | | | | | sibcall eligibility. llvm-svn: 95130 | |||||
* | Eliminate target hook IsEligibleForTailCallOptimization. | Evan Cheng | 2010-01-27 | 1 | -1/+3 | |
| | | | | | | | | | Target independent isel should always pass along the "tail call" property. Change target hook LowerCall's parameter "isTailCall" into a refernce. If the target decides it's impossible to honor the tail call request, it should set isTailCall to false to make target independent isel happy. llvm-svn: 94626 | |||||
* | Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used. | Dan Gohman | 2009-11-23 | 1 | -4/+0 | |
| | | | | | | | | Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711 | |||||
* | We are not using DBG_STOPPOINT anymore. | Devang Patel | 2009-11-21 | 1 | -2/+0 | |
| | | | | llvm-svn: 89536 | |||||
* | Add a bool flag to StackObjects telling whether they reference spill | David Greene | 2009-11-12 | 1 | -5/+10 | |
| | | | | | | | | | | | | | slots. The AsmPrinter will use this information to determine whether to print a spill/reload comment. Remove default argument values. It's too easy to pass a wrong argument value when multiple arguments have default values. Make everything explicit to trap bugs early. Update all targets to adhere to the new interfaces.. llvm-svn: 87022 | |||||
* | Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic ↵ | Evan Cheng | 2009-09-19 | 1 | -2/+11 | |
| | | | | | | blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks. llvm-svn: 82311 | |||||
* | Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that ↵ | Evan Cheng | 2009-09-18 | 1 | -1/+2 | |
| | | | | | | | | sdisel will use to properly complete phi nodes. Not functionality change yet. llvm-svn: 82273 | |||||
* | several major improvements to the sparc backend: support for weak linkage | Chris Lattner | 2009-09-15 | 1 | -7/+28 | |
| | | | | | | and PIC codegen. Patch by Venkatraman Govindaraju! llvm-svn: 81877 |