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 | -4/+4 | |
| | | | | | | 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 | |||||
* | Remove the explicit request for "Latency" scheduling from MSP430, | Dan Gohman | 2011-10-24 | 1 | -1/+0 | |
| | | | | | | as the Latency scheduler is going away. llvm-svn: 142811 | |||||
* | Add codegen support for vector select (in the IR this means a select | Duncan Sands | 2011-09-06 | 1 | -0/+1 | |
| | | | | | | | | | | | | with a vector condition); such selects become VSELECT codegen nodes. This patch also removes VSETCC codegen nodes, unifying them with SETCC nodes (codegen was actually often using SETCC for vector SETCC already). This ensures that various DAG combiner optimizations kick in for vector comparisons. Passes dragonegg bootstrap with no testsuite regressions (nightly testsuite as well as "make check-all"). Patch mostly by Nadav Rotem. llvm-svn: 139159 | |||||
* | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -3/+3 | |
| | | | | llvm-svn: 135375 | |||||
* | Add a parameter to CCState so that it can access the MachineFunction. | Eric Christopher | 2011-06-08 | 1 | -8/+8 | |
| | | | | | | | | 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/+3 | |
| | | | | | | functionality change. llvm-svn: 131012 | |||||
* | 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 | |||||
* | Allow targets to specify a the type of the RHS of a shift parameterized on ↵ | Owen Anderson | 2011-02-25 | 1 | -5/+1 | |
| | | | | | | the type of the LHS. llvm-svn: 126518 | |||||
* | rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for | Chris Lattner | 2010-12-21 | 1 | -4/+4 | |
| | | | | | | | something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310 | |||||
* | 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 | -2/+1 | |
| | | | | llvm-svn: 114461 | |||||
* | convert the targets off the non-MachinePointerInfo of getLoad. | Chris Lattner | 2010-09-21 | 1 | -4/+5 | |
| | | | | llvm-svn: 114410 | |||||
* | Split the SDValue out of OutputArg so that SelectionDAG-independent | Dan Gohman | 2010-07-07 | 1 | -3/+6 | |
| | | | | | | code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786 | |||||
* | Propagate debug loc. | Devang Patel | 2010-07-06 | 1 | -2/+3 | |
| | | | | llvm-svn: 107710 | |||||
* | Reapply r107655 with fixes; insert the pseudo instruction into | Dan Gohman | 2010-07-06 | 1 | -9/+16 | |
| | | | | | | | 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 | -16/+9 | |
| | | | | llvm-svn: 107668 | |||||
* | Fix a bunch of custom-inserter functions to handle the case where | Dan Gohman | 2010-07-06 | 1 | -9/+16 | |
| | | | | | | 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 | -2/+2 | |
| | | | | | | slots so it's always false. llvm-svn: 107550 | |||||
* | Implement @llvm.returnaddress. rdar://8015977. | Evan Cheng | 2010-05-22 | 1 | -0/+4 | |
| | | | | llvm-svn: 104421 | |||||
* | Code refactoring: pull SchedPreference enum from TargetLowering.h to ↵ | Evan Cheng | 2010-05-19 | 1 | -1/+1 | |
| | | | | | | TargetMachine.h and put it in its own namespace. llvm-svn: 104147 | |||||
* | Implement indirect branches on MSP430 | Anton Korobeynikov | 2010-05-01 | 1 | -2/+11 | |
| | | | | llvm-svn: 102835 | |||||
* | Get rid of the EdgeMapping map. Instead, just check for BasicBlock | Dan Gohman | 2010-05-01 | 1 | -14/+3 | |
| | | | | | | changes before doing phi lowering for switches. llvm-svn: 102809 | |||||
* | Use const qualifiers with TargetLowering. This eliminates several | Dan Gohman | 2010-04-17 | 1 | -17/+25 | |
| | | | | | | | | | | | | | 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 | |||||
* | rename llvm::llvm_report_error -> llvm::report_fatal_error | Chris Lattner | 2010-04-07 | 1 | -3/+3 | |
| | | | | llvm-svn: 100709 | |||||
* | IT turns out that during jumpless setcc lowering eq and ne were swapped. | Anton Korobeynikov | 2010-02-21 | 1 | -8/+5 | |
| | | | | | | This fixes PR6348 llvm-svn: 96734 | |||||
* | 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 | -5/+7 | |
| | | | | | | change to SelectionDAG build APIs. llvm-svn: 96234 | |||||
* | Uniformize the names of type predicates: rather than having isFloatTy and | Duncan Sands | 2010-02-15 | 1 | -2/+2 | |
| | | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223 | |||||
* | 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 | |||||
* | zext / truncate is free on msp430. Inform codegen about this. | Anton Korobeynikov | 2010-01-15 | 1 | -0/+25 | |
| | | | | llvm-svn: 93556 | |||||
* | Enable bit tests and setcc stuff. | Anton Korobeynikov | 2010-01-15 | 1 | -4/+6 | |
| | | | | llvm-svn: 93552 | |||||
* | Add micro-optimization which allows us to fold imm into cmp. This allows us ↵ | Anton Korobeynikov | 2010-01-15 | 1 | -0/+32 | |
| | | | | | | to save 1 word (sometimes) and reduce register pressure. llvm-svn: 93551 | |||||
* | Fix cmp emission on msp430: we definitely should turn stuff like | Anton Korobeynikov | 2010-01-15 | 1 | -6/+6 | |
| | | | | | | "icmp lhs, rhs" into "cmp rhs, lhs". This should fix PR5979. llvm-svn: 93496 | |||||
* | Remove pseudo-MI in custom inserter. | Anton Korobeynikov | 2010-01-14 | 1 | -0/+1 | |
| | | | | llvm-svn: 93467 | |||||
* | Implement variable-width shifts. | Anton Korobeynikov | 2009-12-12 | 1 | -4/+136 | |
| | | | | | | No testcase yet - it seems we're exposing generic codegen bugs. llvm-svn: 91221 | |||||
* | Lower setcc branchless, if this is profitable. | Anton Korobeynikov | 2009-12-11 | 1 | -2/+85 | |
| | | | | | | Based on the patch by Brian Lucas! llvm-svn: 91175 | |||||
* | Some pretty-printing | Anton Korobeynikov | 2009-12-07 | 1 | -0/+1 | |
| | | | | llvm-svn: 90742 | |||||
* | Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from ↵ | Anton Korobeynikov | 2009-12-07 | 1 | -0/+54 | |
| | | | | | | x86 :) llvm-svn: 90740 | |||||
* | Initial codegen support for MSP430 ISRs | Anton Korobeynikov | 2009-12-07 | 1 | -2/+21 | |
| | | | | llvm-svn: 90739 | |||||
* | Add ability to select hw multiplier mode and select appropriate libcalls. | Anton Korobeynikov | 2009-12-07 | 1 | -0/+29 | |
| | | | | llvm-svn: 90737 | |||||
* | Minor optimization: when doing eq/ne comparions and RHS is a constant - swap ↵ | Anton Korobeynikov | 2009-11-22 | 1 | -0/+8 | |
| | | | | | | operands, this will allow us to fold imm into comparison. llvm-svn: 89574 | |||||
* | Use 2-byte alignment for functions. 4 bytes are clear overkill here. | Anton Korobeynikov | 2009-11-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 89572 | |||||
* | Add a bool flag to StackObjects telling whether they reference spill | David Greene | 2009-11-12 | 1 | -1/+1 | |
| | | | | | | | | | | | | | 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 | |||||
* | First try of the post-inc operands handling... Not fully worked, though :( | Anton Korobeynikov | 2009-11-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 86386 | |||||
* | Add some dummy support for post-incremented loads | Anton Korobeynikov | 2009-11-07 | 1 | -4/+44 | |
| | | | | llvm-svn: 86385 | |||||
* | Add 8 bit libcalls and make use of them for msp430 | Anton Korobeynikov | 2009-11-07 | 1 | -0/+11 | |
| | | | | llvm-svn: 86384 | |||||
* | Cosmetic changes, no functionality changes | Anton Korobeynikov | 2009-10-21 | 1 | -14/+13 | |
| | | | | llvm-svn: 84773 | |||||
* | Revert 84315 for now. Re-thinking the patch. | Evan Cheng | 2009-10-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 84321 |