summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* ExpandUnalignedLoad doesn't handle vectors right at all apparently.Chris Lattner2007-11-191-8/+22
| | | | | | | | | | | | | | | Fix a couple of problems: 1. Don't assume the VT-1 is a VT that is half the size. 2. Treat vectors of FP in the vector path, not the FP path. This has a couple of remaining problems before it will work with the code in PR1811: the code below this change assumes that it can use extload/shift/or to construct the result, which isn't right for vectors. This also doesn't handle vectors of 1 or vectors that aren't pow-2. llvm-svn: 44243
* Implement vector expand support for shuffle_vector. This fixes PR1811.Chris Lattner2007-11-191-0/+35
| | | | llvm-svn: 44242
* Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman2007-11-193-3/+3
| | | | llvm-svn: 44240
* Implement splitting of UNDEF nodes. This is the first step towards fixing PR1811Chris Lattner2007-11-191-0/+4
| | | | llvm-svn: 44239
* Add explicit keywords.Dan Gohman2007-11-193-6/+7
| | | | llvm-svn: 44234
* Add support in SplitVectorOp for remainder operators.Dan Gohman2007-11-191-1/+4
| | | | llvm-svn: 44233
* Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN ↵Chris Lattner2007-11-181-0/+18
| | | | | | | | return a valid but empty buffer if stdin is empty. llvm-svn: 44219
* autoupgrade files that use callfoo as call foo.Chris Lattner2007-11-181-1/+9
| | | | llvm-svn: 44218
* print a call to a fastcc function as:Chris Lattner2007-11-181-2/+2
| | | | | | | | | | call x86_fastcallcc void @func( i32* %X, i64 0 ) not: callx86_fastcallcc void @func( i32* %X, i64 0 ) This fixes Codegen/X86/fast-cc-merge-stack-adj.ll llvm-svn: 44217
* Bugfix, this fixes CodeGen/X86/ldzero.ll and ↵Chris Lattner2007-11-181-1/+1
| | | | | | CodeGen/X86/2007-10-16-fp80_select.ll llvm-svn: 44215
* Replace the original flex lexer with a hand writen one. This Chris Lattner2007-11-189-4424/+929
| | | | | | | drops a dependency on flex and lets us make future progress more easily. Yay for 2 fewer .cvs files to make silly conflicts with. llvm-svn: 44213
* Add support for vectors to int <-> float casts.Nate Begeman2007-11-176-18/+102
| | | | llvm-svn: 44204
* Remove indeterminism from a loop. We think this willDale Johannesen2007-11-171-2/+6
| | | | | | | fix an occasional nonrepeatable bootstrap failure we've been seeing on Darwin. llvm-svn: 44202
* Fix denormal check in float->APInt conversion.Dale Johannesen2007-11-171-1/+1
| | | | | | PR 1804. llvm-svn: 44201
* Live interval splitting:Evan Cheng2007-11-176-139/+588
| | | | | | | | | | | | | | | | | | | When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB where the live interval is defined or used, create a new interval that covers all the defs and uses in the BB. This is designed to eliminate one common problem: multiple reloads of the same value in a single basic block. Note, it does *not* decrease the number of spills since no copies are inserted so the split intervals are *connected* through spill and reloads (or rematerialization). The newly created intervals can be spilled again, in that case, since it does not span multiple basic blocks, it's spilled in the usual manner. However, it can reuse the same stack slot as the previously split interval. This is currently controlled by -split-intervals-at-bb. llvm-svn: 44198
* Fix for PR1801Tanya Lattner2007-11-161-0/+3
| | | | llvm-svn: 44193
* Fix PR1800 by correcting mistaken logic.Chris Lattner2007-11-161-2/+1
| | | | llvm-svn: 44188
* Implement codegen for flt_rounds on x86Anton Korobeynikov2007-11-163-3/+75
| | | | llvm-svn: 44183
* Implement necessary bits for flt_rounds gcc builtin. Anton Korobeynikov2007-11-154-0/+24
| | | | | | Codegen bits and llvm-gcc support will follow. llvm-svn: 44182
* Basic non-power-of-2 vector supportNate Begeman2007-11-156-319/+320
| | | | llvm-svn: 44181
* Reverted r44163 per requestAnton Korobeynikov2007-11-151-52/+4
| | | | llvm-svn: 44177
* This assertion was bogus.Duncan Sands2007-11-151-3/+2
| | | | llvm-svn: 44167
* Fix a thinko in post-allocation coalescer.Evan Cheng2007-11-151-3/+10
| | | | llvm-svn: 44166
* Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky2007-11-151-4/+51
| | | | | | | is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. llvm-svn: 44163
* Fix PR1788 by taking the approach suggested by Richard Smith.Chris Lattner2007-11-151-11/+16
| | | | | | Thanks to him for his detailed analysis of the problem. llvm-svn: 44162
* More templatization.Owen Anderson2007-11-151-230/+1
| | | | llvm-svn: 44158
* Adding debug output during coalescing.Bill Wendling2007-11-151-0/+1
| | | | llvm-svn: 44154
* Need to increment the iterator.Bill Wendling2007-11-151-1/+1
| | | | llvm-svn: 44153
* I discover array_lengthof, thanks to gabor on #llvm.Duncan Sands2007-11-141-2/+1
| | | | llvm-svn: 44139
* Oops. Debugging code shouldn't have been checked in.Evan Cheng2007-11-141-9/+0
| | | | llvm-svn: 44128
* Removed debug #define that was accidentally checked in while debuggingTed Kremenek2007-11-141-3/+1
| | | | | | | | | the deserializer. Fixed assertion when "stream jumping" in the deserializer to properly function when we have reached the end of the stream. llvm-svn: 44124
* Simplify the attribute verification code.Duncan Sands2007-11-141-34/+24
| | | | llvm-svn: 44116
* RegenerateAnton Korobeynikov2007-11-145-4977/+6488
| | | | llvm-svn: 44110
* Add pure/const attributes. Documentation will follow.Anton Korobeynikov2007-11-144-4/+22
| | | | llvm-svn: 44109
* Fix PIC jump table codegen on x86-32/linux. In fact, such thing should be ↵Anton Korobeynikov2007-11-143-29/+75
| | | | | | | | applied to all targets uses GOT-relative offsets for PIC (Alpha?) llvm-svn: 44108
* Eliminate the recently introduced CCAssignToStackABISizeAlignDuncan Sands2007-11-142-10/+5
| | | | | | | | in favour of teaching CCAssignToStack that size 0 and/or align 0 means to use the ABI values. This seems a neater solution. It is safe since no legal value type has size 0. llvm-svn: 44107
* Added two new overloaded versions of BatchEmitOwnedPtrs andTed Kremenek2007-11-141-5/+13
| | | | | | BatchReadOwnedPtrs. llvm-svn: 44105
* Clean up sub-register implementation by moving subReg information back toEvan Cheng2007-11-146-41/+36
| | | | | | | | | | | MachineOperand auxInfo. Previous clunky implementation uses an external map to track sub-register uses. That works because register allocator uses a new virtual register for each spilled use. With interval splitting (coming soon), we may have multiple uses of the same register some of which are of using different sub-registers from others. It's too fragile to constantly update the information. llvm-svn: 44104
* Allow the block extractor take to take a list of basic blocks to not extractNick Lewycky2007-11-141-1/+58
| | | | | | | | | from a file containing Function/BasicBlock pairings. This is not safe against anonymous or abnormally-named Funcs or BBs. Make bugpoint use this interface to pass the BBs list to the child bugpoint. llvm-svn: 44101
* Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.llChris Lattner2007-11-141-15/+59
| | | | | | by inserting unreachable after no-return calls. llvm-svn: 44099
* Start the process of making MachineLoopInfo possible by templating Loop.Owen Anderson2007-11-141-396/+0
| | | | llvm-svn: 44097
* Fix the regression on Transforms/GlobalOpt/deadglobal-2.ll from myChris Lattner2007-11-131-3/+3
| | | | | | patch on friday. llvm-svn: 44068
* Run computeDomForest() on the set of registers that need to be tested forOwen Anderson2007-11-131-5/+6
| | | | | | interference. llvm-svn: 44064
* Preserve LiveVariables when doing critical edge splitting.Owen Anderson2007-11-131-2/+13
| | | | llvm-svn: 44063
* Revert previous; these files aren't ready to go in yet.Dale Johannesen2007-11-132-2/+3
| | | | llvm-svn: 44057
* Add parameter to getDwarfRegNum to permit targetsDale Johannesen2007-11-1318-29/+27
| | | | | | | | to use different mappings for EH and debug info; no functional change yet. Fix warning in X86CodeEmitter. llvm-svn: 44056
* Fix x86-64 jit: remove reliance on Dwarf numbers.Evan Cheng2007-11-132-12/+29
| | | | llvm-svn: 44048
* Unifacalize the CALLSEQ{START,END} stuff.Bill Wendling2007-11-137-28/+32
| | | | llvm-svn: 44045
* Implement PR1786 by iterating between dead cycle eliminationChris Lattner2007-11-131-33/+63
| | | | | | and simplifycfg in the rare cases when it is needed. llvm-svn: 44044
* Unify CALLSEQ_{START,END}. They take 4 parameters: the chain, two stackBill Wendling2007-11-1316-70/+115
| | | | | | | | | | | adjustment fields, and an optional flag. If there is a "dynamic_stackalloc" in the code, make sure that it's bracketed by CALLSEQ_START and CALLSEQ_END. If not, then there is the potential for the stack to be changed while the stack's being used by another instruction (like a call). This can only result in tears... llvm-svn: 44037
OpenPOWER on IntegriCloud