summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove SIL, DIL, and BPL from the GR8_NOREX allocation order also.Dan Gohman2010-01-261-11/+5
| | | | llvm-svn: 94560
* SIL, DIL, BPL, and SPL require a REX prefix.Dan Gohman2010-01-261-6/+3
| | | | llvm-svn: 94558
* Rename ItCount to BECount, since it holds a backedge-taken count ratherDan Gohman2010-01-261-9/+9
| | | | | | than an iteration count. llvm-svn: 94549
* Fix ICmpInst::makeConstantRange to use ConstantRange's API properlyDan Gohman2010-01-261-2/+30
| | | | | | in the case of empty and full ranges. llvm-svn: 94548
* Fix a typo that several people pointed out. Also, address the case ofDan Gohman2010-01-261-2/+4
| | | | | | wrapping that Duncan pointed out. llvm-svn: 94547
* Better error message.Mikhail Glushenkov2010-01-261-2/+4
| | | | llvm-svn: 94544
* eliminate the TargetLowering::UsesGlobalOffsetTable bool, which isChris Lattner2010-01-264-16/+11
| | | | | | | subsumed by TargetLowering::getJumpTableEncoding(). Change uses of it to be more specific. llvm-svn: 94529
* Now that printPICJumpTableSetLabel is not overloaded,Chris Lattner2010-01-261-22/+18
| | | | | | | inline it into its only caller, allowing us to simplify it and hoist bits out of the loop. llvm-svn: 94528
* Move getJTISymbol from MachineJumpTableInfo to MachineFunction,Chris Lattner2010-01-268-49/+66
| | | | | | | | | | | | | | | | | | which is more convenient, and change getPICJumpTableRelocBaseExpr to take a MachineFunction to match. Next, move the X86 code that create a PICBase symbol to X86TargetLowering::getPICBaseSymbol from X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific library. This eliminates a 'gross hack', and allows us to implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now calls it. This in turn allows us to eliminate the X86AsmPrinter::printPICJumpTableSetLabel method, which was the only overload of printPICJumpTableSetLabel. llvm-svn: 94526
* add a new MachineJumpTableInfo::getJTISymbol method,Chris Lattner2010-01-263-20/+40
| | | | | | use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr llvm-svn: 94523
* stub out a new target hook, need some refactoring before I canChris Lattner2010-01-261-0/+11
| | | | | | implement it. llvm-svn: 94521
* simplify asmprinter: only emit .set directives when entries haveChris Lattner2010-01-262-16/+9
| | | | | | | EK_LabelDifference32 kind and the target has .set support. Simplify X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers. llvm-svn: 94518
* rename printPICJumpTableEntry -> EmitJumpTableEntry,Chris Lattner2010-01-261-19/+10
| | | | | | | make it private and non-virtual. It handles the non-pic case too, so just use it, simplifying EmitJumpTableInfo. llvm-svn: 94517
* implement X86 @GOTOFF jump table entries with the new EK_Custom32Chris Lattner2010-01-264-29/+31
| | | | | | | | | | | jump table entry kind, instead of overloading AsmPrinter::printPICJumpTableEntry. This has a pretty horrible and inefficient FIXME around how @GOTOFF is currently smashed into the mcsymbol name, but otherwise this is much cleaner. llvm-svn: 94516
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-2617-39/+47
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* New PBQP solver.Lang Hames2010-01-2612-2056/+1503
| | | | | | | | | * Fixed a reduction bug which occasionally led to infinite-cost (invalid) register allocation solutions despite the existence finite-cost solutions. * Significantly reduced memory usage (>50% reduction). * Simplified a lot of the solver code. llvm-svn: 94514
* Fix the the ceiling-division used in computing the MaxBECount so that it doesn'tDan Gohman2010-01-261-51/+72
| | | | | | | | | | | | | have trouble with an intermediate add overflowing. Also, be more conservative about the case where the induction variable in an SLT loop exit can step past the RHS of the SLT and overflow in a single step. Make getSignedRange more aggressive, to recover for some common cases which the above fixes pessimized. This addresses rdar://7561161. llvm-svn: 94512
* don't bother setting the AsmPrinter::MF ivar, now thatChris Lattner2010-01-269-23/+1
| | | | | | | AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) llvm-svn: 94510
* make MachineFunction keep track of its ID and make Chris Lattner2010-01-264-9/+15
| | | | | | | | MachineFunctionAnalysis dole them out, instead of having AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction method set the 'AsmPrinter::MF' variable. llvm-svn: 94509
* Add a comment about a missed opportunity.Dan Gohman2010-01-261-0/+3
| | | | llvm-svn: 94507
* Print empty and full sets specially.Dan Gohman2010-01-261-1/+6
| | | | llvm-svn: 94506
* Add support for target-specific 32-bit custom-lowered Chris Lattner2010-01-263-5/+9
| | | | | | jump table entries. llvm-svn: 94505
* Unbreak MSVC/CMake build.Daniel Dunbar2010-01-261-1/+1
| | | | llvm-svn: 94502
* make jit jump table emission be based on the EntryKind instead of magic ↵Chris Lattner2010-01-261-18/+27
| | | | | | | | | variables. JITInfo::getPICJumpTableEntry can probably be removed now, but I don't plan to do this. llvm-svn: 94501
* switch jump table entry emission to be based on EntryKindChris Lattner2010-01-261-16/+39
| | | | | | instead of magic variables. llvm-svn: 94500
* In mem2reg, for all alloca/stores that get promoted where the alloca has an ↵Victor Hernandez2010-01-261-1/+52
| | | | | | associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store. llvm-svn: 94493
* Add MDNode::getIfExists(), an efficient way to determine if a value is used ↵Victor Hernandez2010-01-261-28/+40
| | | | | | by metadata (since metadata does not appear in a value's use list) llvm-svn: 94492
* Assert when debug intrinsic insert functions are passed empty argumentsVictor Hernandez2010-01-261-0/+6
| | | | llvm-svn: 94491
* Implement cond ? -1 : 0 with sbb.Evan Cheng2010-01-262-2/+33
| | | | llvm-svn: 94490
* Accept immediate as value of a dbg_value.Dale Johannesen2010-01-261-2/+3
| | | | llvm-svn: 94489
* Added the implementation of the Intel-specificSean Callanan2010-01-261-1/+27
| | | | | | TargetAsmLexer. llvm-svn: 94482
* Generate DEBUG_VALUE comments on x86. The (limited)Dale Johannesen2010-01-262-0/+13
| | | | | | | dbg.declare's we currently generate go through both register allocators without perturbing the results. llvm-svn: 94480
* Added the TargetAsmLexer implementation for AT&T syntax.Sean Callanan2010-01-261-5/+70
| | | | llvm-svn: 94479
* use findDebugLoc in more places.Dale Johannesen2010-01-261-10/+5
| | | | llvm-svn: 94477
* Minor jump table cleanup.Jim Grosbach2010-01-251-2/+2
| | | | llvm-svn: 94475
* in 32-bit pic mode for targets with a GOT, x86 emits jump tableChris Lattner2010-01-252-0/+17
| | | | | | entries with @GOTOFF whih is EK_GPRel32BlockAddress. llvm-svn: 94474
* fix quoting problem jim noticed!Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94472
* Rearrange handling of jump tables. Highlights:Chris Lattner2010-01-258-82/+154
| | | | | | | | | | | | | | | | | | 1. MachineJumpTableInfo is now created lazily for a function the first time it actually makes a jump table instead of for every function. 2. The encoding of jump table entries is now described by the MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the TLI::getJumpTableEncoding() hook, instead of by lots of code scattered throughout the compiler that "knows" that jump table entries are always 32-bits in pic mode (for example). 3. The size and alignment of jump table entries is now calculated based on their kind, instead of at machinefunction creation time. Future work includes using the EntryKind in more places in the compiler, eliminating other logic that "knows" the layout of jump tables in various situations. llvm-svn: 94470
* prep work to support a future where getJumpTableInfo will returnChris Lattner2010-01-254-4/+11
| | | | | | | a null pointer for functions with no jump tables. No functionality change. llvm-svn: 94469
* add a method to get the alignment of an integer type even Chris Lattner2010-01-251-0/+7
| | | | | | | when we don't have one laying around. Useful if you don't have an llvmcontext handy. llvm-svn: 94468
* Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC.Johnny Chen2010-01-251-1/+1
| | | | llvm-svn: 94465
* eliminate redundant argument to EmitJumpTableInfoChris Lattner2010-01-259-11/+12
| | | | llvm-svn: 94464
* Implemented ARMInstPrinter::printThumbS4ImmOperand().Johnny Chen2010-01-251-2/+1
| | | | llvm-svn: 94457
* Implemented the dialect decision logic for the X86Sean Callanan2010-01-251-2/+20
| | | | | | | | TargetAsmLexer. Dialect-specific lexing code will be placed in the functions LexTokenATT() and LexTokenIntel(). llvm-svn: 94456
* Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ...Johnny Chen2010-01-251-1/+1
| | | | llvm-svn: 94455
* Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the caseDan Gohman2010-01-251-3/+3
| | | | | | of a forward-reference, which doesn't use an "abbrev" encoding. llvm-svn: 94454
* mcstreamerize gprel32 emission.Chris Lattner2010-01-254-14/+17
| | | | llvm-svn: 94452
* Remove check for an impossible condition: the condition of the while loop hasBob Wilson2010-01-251-2/+0
| | | | | | already checked that TmpBB->getSinglePredecessor() is non-null. llvm-svn: 94451
* mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntryChris Lattner2010-01-251-13/+13
| | | | llvm-svn: 94450
* handle the _set_ symbol with an MCSymbol.Chris Lattner2010-01-252-7/+13
| | | | llvm-svn: 94449
OpenPOWER on IntegriCloud