summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Don't emit a DBG_VALUE for a spill slot that the rewriter decided not to use ↵Jakob Stoklund Olesen2011-01-121-1/+2
| | | | | | after all. llvm-svn: 123339
* Fix braino in dominator tree walk.Jakob Stoklund Olesen2011-01-121-1/+1
| | | | llvm-svn: 123338
* Sometimes, old virtual registers can linger on DBG_VALUE instructions.Jakob Stoklund Olesen2011-01-121-1/+2
| | | | | | Make sure we don't crash in that case, but simply turn them into %noreg instead. llvm-svn: 123335
* Teach VirtRegRewriter to update slot indexes when erasing instructions.Jakob Stoklund Olesen2011-01-121-38/+26
| | | | | | It was leaving dangling pointers in the slot index maps. llvm-svn: 123334
* Annotate VirtRegRewriter debug output with slot indexes.Jakob Stoklund Olesen2011-01-122-2/+6
| | | | llvm-svn: 123333
* Verify slot index ordering.Jakob Stoklund Olesen2011-01-121-0/+25
| | | | | | The slot indexes must be monotonically increasing through the function. llvm-svn: 123324
* Assert if anybody tries to put a slot index on a DBG_VALUE instruction.Jakob Stoklund Olesen2011-01-121-0/+3
| | | | llvm-svn: 123323
* Verify that machine instruction parent pointers are consistent.Jakob Stoklund Olesen2011-01-121-0/+5
| | | | llvm-svn: 123322
* Sort the register list based on the *actual* register numbers rather than theBill Wendling2011-01-122-5/+13
| | | | | | enum values we give to them. <rdar://problem/8823730> llvm-svn: 123321
* Use SmallVector instead of SmallPtrSet and avoid non-deterministic behavior.Devang Patel2011-01-121-3/+3
| | | | llvm-svn: 123318
* Mostly undo r123297, but move the default case in EvaluateAsPCRel to the topMatt Beaumont-Gay2011-01-121-3/+3
| | | | | | of the switch block to appease GCC. llvm-svn: 123317
* Add another note taken from the gcc bugzilla.Nick Lewycky2011-01-121-1/+20
| | | | llvm-svn: 123315
* Implement RETURNADDR and FRAMEADDR lowering in SPARC backend.Venkatraman Govindaraju2011-01-124-4/+131
| | | | llvm-svn: 123310
* Remove SPARC backend getpcx instruction's Uses. Also, insert an assert to Venkatraman Govindaraju2011-01-122-3/+5
| | | | | | ensure %o7 is not assigned as the destination of getpcx instruction. llvm-svn: 123304
* revert 123144, reenabling the rest of memset formation.Chris Lattner2011-01-122-7/+3
| | | | llvm-svn: 123302
* Fix SPARC backend call instruction so that arguments passed through registersVenkatraman Govindaraju2011-01-123-11/+37
| | | | | | | are correctly marked as used instead of passing all possible argument registers as used. llvm-svn: 123301
* revert r123146 which disabled code that wasn't the root causeChris Lattner2011-01-122-8/+4
| | | | | | of the bootstrap miscompare issue. llvm-svn: 123299
* revert r123149, reenabling an improvement to memcpyopt that wasn'tChris Lattner2011-01-121-4/+2
| | | | | | the source of the bootstrap problem. llvm-svn: 123298
* Prefer llvm_unreachable to assert(0)Matt Beaumont-Gay2011-01-121-3/+3
| | | | llvm-svn: 123297
* 1. Support ELF pcrel relocations for movw/movt:Jason W Kim2011-01-126-5/+84
| | | | | | | | R_ARM_MOVT_PREL and R_ARM_MOVW_PREL_NC. 2. Fix minor bug in ARMAsmPrinter - treat bitfield flag as a bitfield, not an enum. 3. Add support for 3 new elf section types (no-ops) llvm-svn: 123294
* Workaround for bug 8721.Jason W Kim2011-01-112-0/+120
| | | | | | .s Test added. llvm-svn: 123292
* The world is not ready for LiveDebugVariables yet.Jakob Stoklund Olesen2011-01-114-5/+6
| | | | llvm-svn: 123290
* Remove the PR8954 workaround.Jakob Stoklund Olesen2011-01-111-4/+0
| | | | llvm-svn: 123288
* Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor.Jakob Stoklund Olesen2011-01-111-2/+2
| | | | | | | | | DT->changeImmediateDominator() trivially ignores identity updates, so there is really no need for the uniqueing provided by SmallPtrSet. I expect this to fix PR8954. llvm-svn: 123286
* Enable LiveDebugVariables by default.Jakob Stoklund Olesen2011-01-114-6/+5
| | | | llvm-svn: 123282
* SPARC backend: correct ICC/FCC uses for ADDX and SELECT_CCVenkatraman Govindaraju2011-01-112-15/+95
| | | | llvm-svn: 123281
* Dial back the speculative fix for PR8954 a bit, so that we only recompute ↵Cameron Zwarich2011-01-111-1/+3
| | | | | | | | dominators once at the beginning of GVN instead of once per iteration. llvm-svn: 123278
* Don't insert DBG_VALUE instructions after the first terminator.Jakob Stoklund Olesen2011-01-111-0/+7
| | | | | | | | For one, MachineBasicBlock::getFirstTerminator() doesn't understand what is happening, and it also makes sense to have all control flow run through the DBG_VALUE. llvm-svn: 123277
* Clean up ARM subtarget code by using Triple ADT.Evan Cheng2011-01-116-13/+15
| | | | llvm-svn: 123276
* Appropriately truncate debug info range in dwarf output.Devang Patel2011-01-111-15/+5
| | | | | | This is not yet completely enabled. llvm-svn: 123274
* Put the Dominator improvements back in. They were not the cause of bootstrap ↵Jakob Stoklund Olesen2011-01-112-88/+41
| | | | | | miscomparisons. llvm-svn: 123273
* Attempt to fix the bootstrap buildbot. Rafael says this works for him on ↵Cameron Zwarich2011-01-111-0/+1
| | | | | | x86-64 Linux. llvm-svn: 123270
* Speculatively revert the recent improvements to Dominators.h in an attempt ↵Jakob Stoklund Olesen2011-01-112-41/+88
| | | | | | to track down the gcc bootstrap miscompare. llvm-svn: 123254
* McARM: Fill in GetMnemonicAcceptInfo().Daniel Dunbar2011-01-111-2/+17
| | | | llvm-svn: 123253
* McARM: Write a silly Python script to compute some hard coded info from theDaniel Dunbar2011-01-111-0/+61
| | | | | | | generated ARM match table, which is substantially more efficient than dealing with tblgen. llvm-svn: 123252
* Remove dead variable, const-ref-ize an APInt.Owen Anderson2011-01-111-4/+1
| | | | llvm-svn: 123248
* this pass claims to preserve scev, make sure to tell it about deletions.Chris Lattner2011-01-111-0/+1
| | | | llvm-svn: 123247
* Fix a comment: We now have intrinsics for vcvtr.Bob Wilson2011-01-111-1/+0
| | | | llvm-svn: 123246
* some comment improvements.Chris Lattner2011-01-112-5/+7
| | | | llvm-svn: 123243
* Fix PR8946, a missing reg/reg form of movdqu.Chris Lattner2011-01-112-0/+6
| | | | llvm-svn: 123242
* McARM: Sketch some logic for determining when to add carry set and ↵Daniel Dunbar2011-01-111-4/+48
| | | | | | predication code operands based on the "canonical mnemonic". llvm-svn: 123239
* McARM: Add more hard coded logic to SplitMnemonicAndCC to also split out theDaniel Dunbar2011-01-112-20/+50
| | | | | | | | | | carry setting flag from the mnemonic. Note that this currently involves me disabling a number of working cases in arm_instructions.s, this is a hopefully short term evil which will be rapidly fixed (and greatly surpassed), assuming my current approach flies. llvm-svn: 123238
* FixedNumOperandTraits and VariadicOperandTraits assumed that, given aJay Foad2011-01-118-41/+67
| | | | | | | | | | | "this" pointer for any subclass of User, you could static_cast it to User* and then reinterpret_cast that to Use* to get the end of the operand list. This isn't a safe assumption in general, because the static_cast might adjust the "this" pointer. Fixed by having these OperandTraits classes take an extra template parameter, which is the subclass of User. This is groundwork for PR889. llvm-svn: 123235
* Factor the actual simplification out of SimplifyIndirectBrOnSelect and into ↵Frits van Bommel2011-01-111-26/+37
| | | | | | | | a new helper function so it can be reused in e.g. an upcoming SimplifySwitchOnSelect. No functional change. llvm-svn: 123234
* Add to the CMake build some options and platform tests supported byOscar Fuentes2011-01-113-8/+24
| | | | | | | | the traditional build. Patch by arrowdodger! llvm-svn: 123233
* Made llvm_replace_compiler_option more robust. Use it onOscar Fuentes2011-01-111-7/+14
| | | | | | llvm_process_sources. llvm-svn: 123232
* Fix a thinko in 123226 that caused test failures on "other" platforms.Kalle Raiskila2011-01-111-1/+1
| | | | llvm-svn: 123229
* Revert the testcase from the previous reverted commit.Eric Christopher2011-01-111-2/+0
| | | | llvm-svn: 123227
* Add a "nop filler" pass to SPU.Kalle Raiskila2011-01-116-1/+166
| | | | | | | | | | | | | | | Filling no-ops is done just before emitting of assembly, when the instruction stream is final. No-ops are inserted to align the instructions so the dual-issue of the pipeline is utilized. This speeds up generated code with a minimum of 1% on a select set of algorithms. This pass may be redundant if the instruction scheduler and all subsequent passes that modify the instruction stream (prolog+epilog inserter, register scavenger, are there others?) are made aware of the instruction alignments. llvm-svn: 123226
* Temporarily revert 123133, it's causing some regressions and I'm tryingEric Christopher2011-01-111-8/+4
| | | | | | to get a testcase. llvm-svn: 123225
OpenPOWER on IntegriCloud