summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* add a noteChris Lattner2008-08-191-0/+17
| | | | llvm-svn: 54985
* more cleanups, random methods shouldn't return ostreams.Chris Lattner2008-08-191-23/+30
| | | | llvm-svn: 54984
* more cleanup, eliminate getLLVMName when printing outChris Lattner2008-08-191-24/+18
| | | | | | type names at the top of the file. llvm-svn: 54983
* random cleanups, factor some printing code for linkage and visibilityChris Lattner2008-08-191-167/+187
| | | | llvm-svn: 54982
* Change WriteTypeSymbolic/WriteAsOperand to return void instead of Chris Lattner2008-08-191-36/+25
| | | | | | | | | | | | an ostream, which is just weird. Rename SC_DEBUG -> ST_DEBUG Remove static indentation strangeness from WriteConstantInt. This makes it so that large structs are not broken down and printed on multiple lines. If there is demand for this to return, there are better ways to implement this. llvm-svn: 54981
* whitespace cleanupChris Lattner2008-08-191-1/+1
| | | | llvm-svn: 54980
* don't use the result of WriteAsOperandChris Lattner2008-08-191-4/+5
| | | | llvm-svn: 54979
* don't use the result of WriteTypeSymbolic or WriteAsOperand.Chris Lattner2008-08-192-6/+8
| | | | llvm-svn: 54978
* Don't use the result of WriteAsOperand or WriteTypeSymbolic.Chris Lattner2008-08-192-5/+10
| | | | llvm-svn: 54977
* rearrange code and make more legible.Chris Lattner2008-08-191-251/+280
| | | | llvm-svn: 54976
* put SlotTracker in an anon namespace since it is private.Chris Lattner2008-08-191-3/+3
| | | | llvm-svn: 54975
* Reid had to call this class "slot machine" out of some strange referenceChris Lattner2008-08-191-39/+39
| | | | | | to the gambling device. Name it something more meaningful. llvm-svn: 54974
* Make SimpleSpiller respect subregister indices.Owen Anderson2008-08-191-2/+5
| | | | llvm-svn: 54968
* add a noteChris Lattner2008-08-191-0/+37
| | | | llvm-svn: 54964
* Add a flag to enable the fast spilling path.Owen Anderson2008-08-191-0/+7
| | | | llvm-svn: 54958
* Fix a few more bugs:Owen Anderson2008-08-181-3/+8
| | | | | | | 1) Assign stack slots to new temporaries. 2) Don't insert an interval into the return vector more than once. llvm-svn: 54956
* remove empty fileChris Lattner2008-08-181-0/+0
| | | | llvm-svn: 54950
* Fix several bugs in the new fast-path:Owen Anderson2008-08-181-16/+16
| | | | | | | | 1) Remove an incorrect assertion. 2) Set the stack slot weight properly. 3) Resize the VirtRegMap when needed. llvm-svn: 54949
* Unbreak cpp backend: upgrade output due to change in APInt APIAnton Korobeynikov2008-08-181-1/+2
| | | | llvm-svn: 54942
* Clients of addIntervalForSpills expect the added intervals to be returned ↵Owen Anderson2008-08-181-0/+9
| | | | | | sorted by starting index. llvm-svn: 54939
* Fix a bug daniel pointed out to me, where asmprinter startedChris Lattner2008-08-181-5/+5
| | | | | | | printing ascii code for hex numbers instead of the hex numbers themselves. llvm-svn: 54936
* Simplify the fast-patch interval spilling by using ↵Owen Anderson2008-08-181-72/+50
| | | | | | MachineRegisterInfo::reg_iterator. llvm-svn: 54930
* Resurrect some ancient code to add spill ranges without attempting folding, ↵Owen Anderson2008-08-181-0/+105
| | | | | | | | | remat, or splitting. This code has been updated to current APIs in so far as it compiles and, in theory, works, but does not take advantage of recent advancements. For instance, it could be improved by using MachineRegisterInfo::use_iterator. llvm-svn: 54924
* Register the frame register function when allocating the JIT,Nicolas Geoffray2008-08-181-5/+5
| | | | | | so that lli works out of the box with -enable-eh. llvm-svn: 54920
* ARM asm printer can't handle dwarf info yet.Evan Cheng2008-08-181-6/+12
| | | | llvm-svn: 54913
* Don't hoist instructions that have implicit uses or defines. Before, it wasBill Wendling2008-08-181-0/+5
| | | | | | hoisting out some "test" and "cmp" instructions. This was obvious badness. llvm-svn: 54908
* Make this comment clearer. Instead of using an ambiguous ~ (not) on an icmpNick Lewycky2008-08-171-1/+1
| | | | | | predicate, swap the order of the operands. llvm-svn: 54907
OpenPOWER on IntegriCloud