| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Move SelectionDAG's constructor out of line. | Dan Gohman | 2008-08-23 | 1 | -0/+7 | |
| | | | | | llvm-svn: 55212 | |||||
| * | Reapply r55191 and r55192. | Dan Gohman | 2008-08-22 | 2 | -9/+16 | |
| | | | | | llvm-svn: 55205 | |||||
| * | Reverting r55190, r55191, and r55192. They broke the build with this error ↵ | Bill Wendling | 2008-08-22 | 2 | -16/+9 | |
| | | | | | | | | | | | | | | | | message: {standard input}:17:bad register name `%sil' make[4]: *** [libgcc/./_addvsi3.o] Error 1 make[4]: *** Waiting for unfinished jobs.... {standard input}:23:bad register name `%dil' {standard input}:28:bad register name `%dil' make[4]: *** [libgcc/./_addvdi3.o] Error 1 {standard input}:18:bad register name `%sil' make[4]: *** [libgcc/./_subvsi3.o] Error 1 llvm-svn: 55200 | |||||
| * | Fix the InsertBranch call. | Dan Gohman | 2008-08-22 | 1 | -2/+1 | |
| | | | | | llvm-svn: 55192 | |||||
| * | Support non-fallthrough unconditional branches in FastISel. | Dan Gohman | 2008-08-22 | 2 | -9/+17 | |
| | | | | | llvm-svn: 55191 | |||||
| * | Add FastISel support for PHINodes. Machine PHI nodes | Dan Gohman | 2008-08-22 | 1 | -0/+5 | |
| | | | | | | | | are not yet updated properly, but that's a separate task. llvm-svn: 55187 | |||||
| * | Factor out the predicate check code from DAGISelEmitter.cpp | Dan Gohman | 2008-08-22 | 1 | -4/+6 | |
| | | | | | | | | | | and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. llvm-svn: 55156 | |||||
| * | Add libcalls for the new rounding opcodes. | Dan Gohman | 2008-08-21 | 2 | -0/+75 | |
| | | | | | llvm-svn: 55133 | |||||
| * | Add libm-oriented ISD opcodes for rounding operations. | Dan Gohman | 2008-08-21 | 3 | -0/+20 | |
| | | | | | llvm-svn: 55130 | |||||
| * | Have FastISel skip the multiply by 1 for getelementptr on i8*. | Dan Gohman | 2008-08-21 | 1 | -4/+2 | |
| | | | | | llvm-svn: 55129 | |||||
| * | MVT::getMVT uses iPTR for pointer types, while we need the actual | Dan Gohman | 2008-08-21 | 1 | -8/+8 | |
| | | | | | | | | intptr_t type in this case. FastISel can now select simple getelementptr instructions. llvm-svn: 55125 | |||||
| * | Elements in DeadNodeSet are checked for use_empty() before they | Dan Gohman | 2008-08-21 | 1 | -1/+0 | |
| | | | | | | | | are actually deleted, so it's not necessary to remove re-used nodes from the set. llvm-svn: 55123 | |||||
| * | Basic fast-isel support for instructions with constant int operands. | Dan Gohman | 2008-08-21 | 1 | -19/+69 | |
| | | | | | llvm-svn: 55099 | |||||
| * | Type of first GEP operand is always the same as the target pointer type. | Evan Cheng | 2008-08-21 | 1 | -7/+5 | |
| | | | | | llvm-svn: 55097 | |||||
| * | Fix unused variable warnings. | Dan Gohman | 2008-08-20 | 1 | -3/+3 | |
| | | | | | llvm-svn: 55089 | |||||
| * | First cut, un-optimized (and untested) fast isel lowering of GetElementPtrInst. | Evan Cheng | 2008-08-20 | 2 | -5/+109 | |
| | | | | | llvm-svn: 55085 | |||||
| * | Simplify the BuildMI calls even more. | Dan Gohman | 2008-08-20 | 1 | -6/+3 | |
| | | | | | llvm-svn: 55077 | |||||
| * | Simplify FastISel's constructor argument list, make the FastISel | Dan Gohman | 2008-08-20 | 2 | -14/+18 | |
| | | | | | | | | | class hold a MachineRegisterInfo member, and make the MachineBasicBlock be passed in to SelectInstructions rather than the FastISel constructor. llvm-svn: 55076 | |||||
| * | Dump the instruction that foiled ISel even when -debug is not used. | Dan Gohman | 2008-08-20 | 1 | -1/+3 | |
| | | | | | llvm-svn: 55075 | |||||
| * | Make more use of the BuildMI API. | Dan Gohman | 2008-08-20 | 1 | -8/+2 | |
| | | | | | llvm-svn: 55072 | |||||
| * | Minor code reorganization. | Dan Gohman | 2008-08-20 | 1 | -3/+3 | |
| | | | | | llvm-svn: 55071 | |||||
| * | Minor whitespace cleanup. | Dan Gohman | 2008-08-20 | 1 | -1/+1 | |
| | | | | | llvm-svn: 55070 | |||||
| * | Fix 80 column violation. | Dan Gohman | 2008-08-20 | 1 | -1/+2 | |
| | | | | | llvm-svn: 55069 | |||||
| * | Kill off SimpleBBISel, it's replaced by FastISel. | Evan Cheng | 2008-08-20 | 3 | -78/+1 | |
| | | | | | llvm-svn: 55067 | |||||
| * | Disable DAGCombine's alignment inference in "fast" codegen mode. | Dan Gohman | 2008-08-20 | 2 | -9/+12 | |
| | | | | | llvm-svn: 55059 | |||||
| * | Change the FoldingSetNodeID usage for objects which carry | Dan Gohman | 2008-08-20 | 1 | -36/+26 | |
| | | | | | | | | | alignment and volatility information, such as loads and stores, to reduce the number of integer values added to the FoldingSetNodeID. llvm-svn: 55058 | |||||
| * | Use BitVector instead of std::vector<unsigned char>. | Dan Gohman | 2008-08-20 | 1 | -2/+1 | |
| | | | | | llvm-svn: 55054 | |||||
| * | Avoid an empty-if-body warning in release builds. | Dan Gohman | 2008-08-20 | 1 | -1/+2 | |
| | | | | | llvm-svn: 55050 | |||||
| * | Fix FastISel to recognize that the last block in the function does | Dan Gohman | 2008-08-20 | 1 | -5/+8 | |
| | | | | | | | not have a fall-through successor. llvm-svn: 55033 | |||||
| * | Fix a leak in the FastISel code that Chris pointed out. | Dan Gohman | 2008-08-20 | 1 | -0/+8 | |
| | | | | | llvm-svn: 55031 | |||||
| * | Add support for running SelectionDAG if FastISel fails. This is under | Dan Gohman | 2008-08-20 | 1 | -11/+16 | |
| | | | | | | | | a command-line option, so that the default behavior is an abort, which is useful for exposing code that isn't supported yet. llvm-svn: 55028 | |||||
| * | Fix FastISel to recognize unhandled operands, such as constants | Dan Gohman | 2008-08-20 | 1 | -0/+4 | |
| | | | | | | | that aren't available as virtual registers (for now). llvm-svn: 55026 | |||||
| * | Add FastISel support for floating-point operations. | Dan Gohman | 2008-08-20 | 1 | -6/+13 | |
| | | | | | llvm-svn: 55021 | |||||
| * | Add FastISel support for several more binary operators. | Dan Gohman | 2008-08-20 | 1 | -16/+62 | |
| | | | | | llvm-svn: 55020 | |||||
| * | Add code to call FastISel, and a command-line option to enable it. | Dan Gohman | 2008-08-19 | 1 | -1/+32 | |
| | | | | | llvm-svn: 55015 | |||||
| * | Support unconditional fall-through branches in FastISel. | Dan Gohman | 2008-08-19 | 1 | -0/+16 | |
| | | | | | llvm-svn: 55014 | |||||
| * | Use the BuildMI overload that sets up a destination register | Dan Gohman | 2008-08-19 | 1 | -6/+3 | |
| | | | | | | | instead of the one that doesn't and then adding it manually. llvm-svn: 55006 | |||||
| * | Handle the case where target-specific fastisel code doesn't have | Dan Gohman | 2008-08-19 | 1 | -0/+5 | |
| | | | | | | | a desired opcode. llvm-svn: 55005 | |||||
| * | don't use the result of WriteTypeSymbolic or WriteAsOperand. | Chris Lattner | 2008-08-19 | 1 | -5/+6 | |
| | | | | | llvm-svn: 54978 | |||||
| * | Rename some GC classes so that their roll will hopefully be clearer. | Gordon Henriksen | 2008-08-17 | 1 | -17/+18 | |
| | | | | | | | | | | | | | | | | | | | In particular, Collector was confusing to implementors. Several thought that this compile-time class was the place to implement their runtime GC heap. Of course, it doesn't even exist at runtime. Specifically, the renames are: Collector -> GCStrategy CollectorMetadata -> GCFunctionInfo CollectorModuleMetadata -> GCModuleInfo CollectorRegistry -> GCRegistry Function::getCollector -> getGC (setGC, hasGC, clearGC) Several accessors and nested types have also been renamed to be consistent. These changes should be obvious. llvm-svn: 54899 | |||||
| * | Factor GC metadata table assembly generation out of Collector in preparation ↵ | Gordon Henriksen | 2008-08-17 | 1 | -1/+1 | |
| | | | | | | | for splitting AsmPrinter into its own library. llvm-svn: 54881 | |||||
| * | Rework the routines that convert AP[S]Int into a string. Now, instead of | Chris Lattner | 2008-08-17 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | returning an std::string by value, it fills in a SmallString/SmallVector passed in. This significantly reduces string thrashing in some cases. More specifically, this: - Adds an operator<< and a print method for APInt that allows you to directly send them to an ostream. - Reimplements APInt::toString to be much simpler and more efficient algorithmically in addition to not thrashing strings quite as much. This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the asmprinter. This also fixes a bug I introduced into the asmwriter in a previous patch w.r.t. alias printing. llvm-svn: 54873 | |||||
| * | Make FastISel's constructor protected, and give it a destructor. | Dan Gohman | 2008-08-14 | 1 | -0/+2 | |
| | | | | | llvm-svn: 54793 | |||||
| * | Improve support for vector casts in LLVM IR and CodeGen. | Dan Gohman | 2008-08-14 | 4 | -88/+221 | |
| | | | | | llvm-svn: 54784 | |||||
| * | Fix a bogus srem rule - a negative value srem'd by a power-of-2 | Dan Gohman | 2008-08-13 | 1 | -5/+3 | |
| | | | | | | | | can have a non-negative result; for example, -16%16 is 0. Also, clarify the related comments. This fixes PR2670. llvm-svn: 54767 | |||||
| * | Allow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with | Dan Gohman | 2008-08-13 | 1 | -11/+9 | |
| | | | | | | | | non-constant indices. Only a few of the peephole checks require a constant index. llvm-svn: 54764 | |||||
| * | Initial checkin of the new "fast" instruction selection support. See | Dan Gohman | 2008-08-13 | 1 | -0/+104 | |
| | | | | | | | | the comments in FastISelEmitter.cpp for details on what this is. This is currently experimental and unusable. llvm-svn: 54751 | |||||
| * | Rename SelectionDAGISel's FastISel to Fast, to begin to make | Dan Gohman | 2008-08-13 | 1 | -3/+3 | |
| | | | | | | | room for the new FastISel instruction selection code. llvm-svn: 54749 | |||||
| * | Correct the filename in the top-of-file comment. | Dan Gohman | 2008-08-12 | 1 | -1/+1 | |
| | | | | | llvm-svn: 54688 | |||||
| * | Take the FrameOffset into account when computing the alignment | Dan Gohman | 2008-08-11 | 1 | -1/+1 | |
| | | | | | | | of stack objects. This fixes PR2656. llvm-svn: 54646 | |||||

