summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-2155-150/+353
| | | | 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-202-5/+109
| | | | llvm-svn: 55085
* Add a new ConstantExpr::getWithOperands that takes any array of operands Chris Lattner2008-08-201-4/+4
| | | | | | instead of requiring an std::vector. llvm-svn: 55084
* 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-205-25/+22
| | | | | | | | 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-201-150/+40
| | | | | | | 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-202-9/+12
| | | | llvm-svn: 55059
* Change the FoldingSetNodeID usage for objects which carryDan Gohman2008-08-202-36/+36
| | | | | | | | 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 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-201-0/+8
| | | | llvm-svn: 55031
* 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
* 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-201-6/+13
| | | | llvm-svn: 55021
* Add FastISel support for several more binary operators.Dan Gohman2008-08-201-16/+62
| | | | llvm-svn: 55020
* Add support for the __sync_sub_and_fetch atomics and friends for X86. The codeBill Wendling2008-08-193-6/+54
| | | | | | was already present, but not hooked up to anything. llvm-svn: 55018
* 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
* The X86 target will soon have an implementation of createFastISel.Dan Gohman2008-08-192-0/+14
| | | | llvm-svn: 55010
* Use the BuildMI overload that sets up a destination registerDan Gohman2008-08-191-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 haveDan Gohman2008-08-191-0/+5
| | | | | | a desired opcode. llvm-svn: 55005
* The fast-path still needs to set kill markers and spill/restore points as ↵Owen Anderson2008-08-191-0/+3
| | | | | | | | | appropriate. With this patch, all of MultiSource/Applications and all of SPEC2000/2006 pass with the SimpleSpiller and this fast-path enabled. llvm-svn: 55000
* Add support for 8 and 16 bit forms of __syncDale Johannesen2008-08-194-23/+143
| | | | | | | | | | builtins on X86. Change "lock" instructions to be on a separate line. This is needed to work around a bug in the Darwin assembler. llvm-svn: 54999
* Delete a dead field.Gordon Henriksen2008-08-191-1/+0
| | | | llvm-svn: 54995
* [PR2327] Leverage TargetRegisterInfo to compute frame offsets for GC metadata.Gordon Henriksen2008-08-191-7/+5
| | | | llvm-svn: 54994
* Update the JIT exception writer to better mimic the codegen exception writer.Nicolas Geoffray2008-08-191-11/+10
| | | | | | | Also skip indirect encoding for platforms that ask for one: we direclty write an address, not a pointer to the address. llvm-svn: 54987
OpenPOWER on IntegriCloud