summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Improve the doxygen comment for SelectInstructions::SelectInstructions.Dan Gohman2008-08-211-2/+3
| | | | llvm-svn: 55094
* Begin making more use of the FastISelEmitter class.Dan Gohman2008-08-213-28/+30
| | | | llvm-svn: 55093
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-2166-180/+448
| | | | llvm-svn: 55092
* Fix an N^2 issue handling constant resolution due to RAUW in large arraysChris Lattner2008-08-212-13/+132
| | | | | | | this speeds up the bcreader from 6.67s to 0.12s on a testcase Daniel provided. rdar://6158117 llvm-svn: 55090
* Fix unused variable warnings.Dan Gohman2008-08-201-3/+3
| | | | llvm-svn: 55089
* Silence a compiler warning.Evan Cheng2008-08-201-1/+2
| | | | llvm-svn: 55087
* First cut, un-optimized (and untested) fast isel lowering of GetElementPtrInst.Evan Cheng2008-08-203-5/+136
| | | | llvm-svn: 55085
* Add a new ConstantExpr::getWithOperands that takes any array of operands Chris Lattner2008-08-202-5/+8
| | | | | | instead of requiring an std::vector. llvm-svn: 55084
* Remove an obsolete todo comment.Dan Gohman2008-08-201-2/+0
| | | | llvm-svn: 55080
* Factor the code for determining the target-specific instructionDan Gohman2008-08-204-18/+22
| | | | | | namespace out of the isel emitters and into common code. llvm-svn: 55079
* Move the handling of ANY_EXTEND, SIGN_EXTEND_INREG, and TRUNCATEDan Gohman2008-08-203-138/+159
| | | | | | | | | | | | | out of X86ISelDAGToDAG.cpp C++ code and into tablegen code. Among other things, using tablegen for these things makes them friendlier to FastISel. Tablegen can handle the case of i8 subregs on x86-32, but currently the C++ code for that case uses MVT::Flag in a tricky way, and it happens to schedule better in some cases. So for now, leave the C++ code in place to handle the i8 case on x86-32. llvm-svn: 55078
* Simplify the BuildMI calls even more.Dan Gohman2008-08-201-6/+3
| | | | llvm-svn: 55077
* Simplify FastISel's constructor argument list, make the FastISelDan Gohman2008-08-208-40/+33
| | | | | | | | 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 Gohman2008-08-201-1/+3
| | | | llvm-svn: 55075
* Don't hoist instructions that define a physical register.Bill Wendling2008-08-201-1/+8
| | | | llvm-svn: 55074
* Make more use of the BuildMI API.Dan Gohman2008-08-201-8/+2
| | | | llvm-svn: 55072
* Minor code reorganization.Dan Gohman2008-08-201-3/+3
| | | | llvm-svn: 55071
* Minor whitespace cleanup.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55070
* Fix 80 column violation.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55069
* Kill off SimpleBBISel, it's replaced by FastISel.Evan Cheng2008-08-203-78/+1
| | | | llvm-svn: 55067
* Move the fast-path (<=i64) cases of various APInt methods inlineChris Lattner2008-08-202-170/+199
| | | | | | | and the slow-path cases out of line. This speeds up instcombine a bit in real world cases. Patch contributed by m-s. llvm-svn: 55063
* Disable DAGCombine's alignment inference in "fast" codegen mode.Dan Gohman2008-08-203-10/+13
| | | | llvm-svn: 55059
* Change the FoldingSetNodeID usage for objects which carryDan Gohman2008-08-204-37/+46
| | | | | | | | alignment and volatility information, such as loads and stores, to reduce the number of integer values added to the FoldingSetNodeID. llvm-svn: 55058
* Clean up a dead return missed in r55055.Dan Gohman2008-08-201-3/+2
| | | | llvm-svn: 55057
* Tablegen generated code already tests the opcode value, so it's notDan Gohman2008-08-204-247/+183
| | | | | | necessary to use dyn_cast in these predicates. llvm-svn: 55055
* Use BitVector instead of std::vector<unsigned char>.Dan Gohman2008-08-201-2/+1
| | | | llvm-svn: 55054
* It's not necessary to check if a value is null before delete[].Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55053
* Use cast instead of dyn_cast.Dan Gohman2008-08-201-2/+2
| | | | llvm-svn: 55052
* Avoid an empty-if-body warning in release builds.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55050
* Fix indentation.Dan Gohman2008-08-201-2/+2
| | | | llvm-svn: 55049
* Fix comment spacing.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55047
* Fixed shuffle optimizations to handle non power of 2 vectorsMon P Wang2008-08-201-4/+4
| | | | llvm-svn: 55035
* Fix the string for MVT::isVoid.Dan Gohman2008-08-201-1/+1
| | | | llvm-svn: 55034
* Fix FastISel to recognize that the last block in the function doesDan Gohman2008-08-201-5/+8
| | | | | | not have a fall-through successor. llvm-svn: 55033
* Fix a leak in the FastISel code that Chris pointed out.Dan Gohman2008-08-202-2/+10
| | | | llvm-svn: 55031
* Add a -march line for this test, and run it on x86-64 too for fun.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55030
* Add remaining 64-bit atomic patterns for x86-64.Dale Johannesen2008-08-202-0/+60
| | | | llvm-svn: 55029
* Add support for running SelectionDAG if FastISel fails. This is underDan Gohman2008-08-201-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 constantsDan Gohman2008-08-201-0/+4
| | | | | | that aren't available as virtual registers (for now). llvm-svn: 55026
* ll printer prints each zeroinit on the same line now, update regexChris Lattner2008-08-201-1/+1
| | | | llvm-svn: 55025
* Revert r55018 and apply the correct "fix" for the 64-bit sub_and_fetch atomic.Bill Wendling2008-08-204-51/+5
| | | | | | Just expand it like the other X-bit sub_and_fetches. llvm-svn: 55023
* Get rid of a couple of dynamic_cast.Evan Cheng2008-08-201-4/+10
| | | | llvm-svn: 55022
* Add FastISel support for floating-point operations.Dan Gohman2008-08-202-7/+30
| | | | llvm-svn: 55021
* Add FastISel support for several more binary operators.Dan Gohman2008-08-203-18/+101
| | | | llvm-svn: 55020
* Add support for the __sync_sub_and_fetch atomics and friends for X86. The codeBill Wendling2008-08-194-6/+65
| | | | | | was already present, but not hooked up to anything. llvm-svn: 55018
* Fast-isel is now *minimally* functional. Add a testcase toDan Gohman2008-08-191-0/+17
| | | | | | | | demonstrate the extent of its capabilities. Note that it only attempts to operate on one of the blocks in this testcase. llvm-svn: 55016
* Add code to call FastISel, and a command-line option to enable it.Dan Gohman2008-08-191-1/+32
| | | | llvm-svn: 55015
* Support unconditional fall-through branches in FastISel.Dan Gohman2008-08-191-0/+16
| | | | llvm-svn: 55014
* Allow the fast-path spilling code to attempt folding, but still leaving out ↵Owen Anderson2008-08-191-59/+68
| | | | | | remat and splitting. llvm-svn: 55012
* Instantiate FastISel for X86.Dan Gohman2008-08-193-2/+56
| | | | llvm-svn: 55011
OpenPOWER on IntegriCloud