Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Rename getFixedStack to getStackObject. The stack objects represented are not | Evan Cheng | 2009-10-17 | 1 | -1/+1 | |
| | | | | | | necessarily fixed. Only those will negative frame indices are "fixed." llvm-svn: 84315 | |||||
* | Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic ↵ | Evan Cheng | 2009-09-19 | 1 | -0/+4 | |
| | | | | | | 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 | |||||
* | Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson. | Sandeep Patel | 2009-09-02 | 1 | -6/+6 | |
| | | | | llvm-svn: 80773 | |||||
* | Add dummy inline asm handling for 'r' constraint. This fixes PR4778 | Anton Korobeynikov | 2009-08-26 | 1 | -0/+38 | |
| | | | | llvm-svn: 80085 | |||||
* | Provide dynamic_stackalloc lowering for MSP430. | Anton Korobeynikov | 2009-08-25 | 1 | -0/+2 | |
| | | | | | | This fixes PR4769 llvm-svn: 80001 | |||||
* | eliminate uses of cerr() | Chris Lattner | 2009-08-23 | 1 | -2/+3 | |
| | | | | llvm-svn: 79834 | |||||
* | Split EVT into MVT and EVT, the former representing _just_ a primitive type, ↵ | Owen Anderson | 2009-08-11 | 1 | -78/+78 | |
| | | | | | | | | while the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713 | |||||
* | Rename MVT to EVT, in preparation for splitting SimpleValueType out into its ↵ | Owen Anderson | 2009-08-10 | 1 | -78/+78 | |
| | | | | | | own struct type. llvm-svn: 78610 | |||||
* | Major calling convention code refactoring. | Dan Gohman | 2009-08-05 | 1 | -80/+81 | |
| | | | | | | | | | | | | | | | | | | | Instead of awkwardly encoding calling-convention information with ISD::CALL, ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering provides three virtual functions for targets to override: LowerFormalArguments, LowerCall, and LowerRet, which replace the custom lowering done on the special nodes. They provide the same information, but in a more immediately usable format. This also reworks much of the target-independent tail call logic. The decision of whether or not to perform a tail call is now cleanly split between target-independent portions, and the target dependent portion in IsEligibleForTailCallOptimization. This also synchronizes all in-tree targets, to help enable future refactoring and feature work. llvm-svn: 78142 | |||||
* | Rip all of the global variable lowering logic out of TargetAsmInfo. Since | Chris Lattner | 2009-07-28 | 1 | -1/+3 | |
| | | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294 | |||||
* | Get rid of the Pass+Context magic. | Owen Anderson | 2009-07-22 | 1 | -4/+4 | |
| | | | | llvm-svn: 76702 | |||||
* | Oops, accidentally set a legal operation to expand. | Eli Friedman | 2009-07-17 | 1 | -1/+0 | |
| | | | | llvm-svn: 76165 | |||||
* | Expand misc operations from test/CodeGen/Generic. | Eli Friedman | 2009-07-17 | 1 | -0/+17 | |
| | | | | llvm-svn: 76163 | |||||
* | llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. | Torok Edwin | 2009-07-14 | 1 | -6/+6 | |
| | | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640 | |||||
* | assert(0) -> LLVM_UNREACHABLE. | Torok Edwin | 2009-07-11 | 1 | -5/+5 | |
| | | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379 | |||||
* | Thread LLVMContext through MVT and related parts of SDISel. | Owen Anderson | 2009-07-09 | 1 | -4/+5 | |
| | | | | llvm-svn: 75153 | |||||
* | Implement changes from Chris's feedback. | Torok Edwin | 2009-07-08 | 1 | -5/+5 | |
| | | | | | | Finish converting lib/Target. llvm-svn: 75043 | |||||
* | Convert more abort() calls to llvm_report_error(). | Torok Edwin | 2009-07-08 | 1 | -5/+9 | |
| | | | | | | Also remove trailing semicolon. llvm-svn: 75027 | |||||
* | Update comments to make it clear that the function alignment is the Log2 of the | Bill Wendling | 2009-07-01 | 1 | -1/+1 | |
| | | | | | | bytes and not bytes. llvm-svn: 74624 | |||||
* | Add an "alignment" field to the MachineFunction object. It makes more sense to | Bill Wendling | 2009-06-30 | 1 | -0/+5 | |
| | | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. llvm-svn: 74564 | |||||
* | Mark rotl/rotr as expand. This generates pretty ugly code, but this is ↵ | Anton Korobeynikov | 2009-05-17 | 1 | -0/+4 | |
| | | | | | | better than nothing. llvm-svn: 71976 | |||||
* | Typo | Anton Korobeynikov | 2009-05-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 71975 | |||||
* | Allow 8 bit select in custom inserter | Anton Korobeynikov | 2009-05-08 | 1 | -1/+2 | |
| | | | | llvm-svn: 71239 | |||||
* | Expand UREM / SREM into libcalls | Anton Korobeynikov | 2009-05-08 | 1 | -0/+2 | |
| | | | | llvm-svn: 71236 | |||||
* | Make handling of conditional stuff much more straightforward | Anton Korobeynikov | 2009-05-03 | 1 | -74/+45 | |
| | | | | llvm-svn: 70767 | |||||
* | Expand divisions into libcalls | Anton Korobeynikov | 2009-05-03 | 1 | -0/+5 | |
| | | | | llvm-svn: 70765 | |||||
* | Custom lower SIGN_EXTEND | Anton Korobeynikov | 2009-05-03 | 1 | -0/+15 | |
| | | | | llvm-svn: 70763 | |||||
* | Add 8bit shifts | Anton Korobeynikov | 2009-05-03 | 1 | -3/+4 | |
| | | | | llvm-svn: 70759 | |||||
* | Handle logical shift right (at least I hope so :) ) | Anton Korobeynikov | 2009-05-03 | 1 | -3/+14 | |
| | | | | llvm-svn: 70758 | |||||
* | Expand all sorts of indirect branches | Anton Korobeynikov | 2009-05-03 | 1 | -0/+2 | |
| | | | | llvm-svn: 70755 | |||||
* | Properly handle ExternalSymbol's | Anton Korobeynikov | 2009-05-03 | 1 | -0/+12 | |
| | | | | llvm-svn: 70752 | |||||
* | Expand muls (all mulls!) to libcalls for now | Anton Korobeynikov | 2009-05-03 | 1 | -0/+7 | |
| | | | | llvm-svn: 70751 | |||||
* | Add left shift | Anton Korobeynikov | 2009-05-03 | 1 | -3/+9 | |
| | | | | llvm-svn: 70747 | |||||
* | Lower select with custom inserted and make condjumps generic | Anton Korobeynikov | 2009-05-03 | 1 | -8/+110 | |
| | | | | llvm-svn: 70744 | |||||
* | Add first draft for conditions, conditional branches, etc | Anton Korobeynikov | 2009-05-03 | 1 | -0/+83 | |
| | | | | llvm-svn: 70743 | |||||
* | Small tweaking | Anton Korobeynikov | 2009-05-03 | 1 | -0/+4 | |
| | | | | llvm-svn: 70741 | |||||
* | Add lowering for global address nodes. Not pretty efficient though. | Anton Korobeynikov | 2009-05-03 | 1 | -0/+13 | |
| | | | | llvm-svn: 70730 | |||||
* | Add call frame setup instruction elimination and lowerid for bunch of ↵ | Anton Korobeynikov | 2009-05-03 | 1 | -0/+1 | |
| | | | | | | call-related stuff. llvm-svn: 70728 | |||||
* | Add CALL lowering. | Anton Korobeynikov | 2009-05-03 | 1 | -3/+175 | |
| | | | | llvm-svn: 70727 | |||||
* | Add normal and trunc stores | Anton Korobeynikov | 2009-05-03 | 1 | -0/+4 | |
| | | | | llvm-svn: 70724 | |||||
* | Basic support for mem=>reg moves | Anton Korobeynikov | 2009-05-03 | 1 | -0/+6 | |
| | | | | llvm-svn: 70723 | |||||
* | Add pattern for OR | Anton Korobeynikov | 2009-05-03 | 1 | -1/+0 | |
| | | | | llvm-svn: 70720 | |||||
* | Cleanup | Anton Korobeynikov | 2009-05-03 | 1 | -2/+1 | |
| | | | | llvm-svn: 70716 | |||||
* | Add dummy lowering for shifts | Anton Korobeynikov | 2009-05-03 | 1 | -0/+31 | |
| | | | | llvm-svn: 70715 | |||||
* | We don't have any div at all - thus mark it as expensive | Anton Korobeynikov | 2009-05-03 | 1 | -0/+5 | |
| | | | | llvm-svn: 70714 | |||||
* | Add code enough for emission of reg-reg and reg-imm moves. This allows us to ↵ | Anton Korobeynikov | 2009-05-03 | 1 | -2/+2 | |
| | | | | | | compile "ret i16 0" properly! llvm-svn: 70710 | |||||
* | Provide set of reserved registers | Anton Korobeynikov | 2009-05-03 | 1 | -4/+4 | |
| | | | | llvm-svn: 70704 | |||||
* | Add proper ISD::RET lowering | Anton Korobeynikov | 2009-05-03 | 1 | -0/+58 | |
| | | | | llvm-svn: 70703 | |||||
* | Add first draft of MSP430 calling convention stuff and draft of ↵ | Anton Korobeynikov | 2009-05-03 | 1 | -0/+100 | |
| | | | | | | ISD::FORMAL_ARGUMENTS node lowering. llvm-svn: 70702 |