Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't emit a DBG_VALUE for a spill slot that the rewriter decided not to use ↵ | Jakob Stoklund Olesen | 2011-01-12 | 1 | -1/+2 |
| | | | | | | after all. llvm-svn: 123339 | ||||
* | Fix braino in dominator tree walk. | Jakob Stoklund Olesen | 2011-01-12 | 1 | -1/+1 |
| | | | | llvm-svn: 123338 | ||||
* | Sometimes, old virtual registers can linger on DBG_VALUE instructions. | Jakob Stoklund Olesen | 2011-01-12 | 1 | -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 Olesen | 2011-01-12 | 1 | -38/+26 |
| | | | | | | It was leaving dangling pointers in the slot index maps. llvm-svn: 123334 | ||||
* | Annotate VirtRegRewriter debug output with slot indexes. | Jakob Stoklund Olesen | 2011-01-12 | 1 | -2/+2 |
| | | | | llvm-svn: 123333 | ||||
* | Verify slot index ordering. | Jakob Stoklund Olesen | 2011-01-12 | 1 | -0/+25 |
| | | | | | | The slot indexes must be monotonically increasing through the function. llvm-svn: 123324 | ||||
* | Verify that machine instruction parent pointers are consistent. | Jakob Stoklund Olesen | 2011-01-12 | 1 | -0/+5 |
| | | | | llvm-svn: 123322 | ||||
* | Sort the register list based on the *actual* register numbers rather than the | Bill Wendling | 2011-01-12 | 1 | -5/+5 |
| | | | | | | enum values we give to them. <rdar://problem/8823730> llvm-svn: 123321 | ||||
* | Use SmallVector instead of SmallPtrSet and avoid non-deterministic behavior. | Devang Patel | 2011-01-12 | 1 | -3/+3 |
| | | | | llvm-svn: 123318 | ||||
* | Mostly undo r123297, but move the default case in EvaluateAsPCRel to the top | Matt Beaumont-Gay | 2011-01-12 | 1 | -3/+3 |
| | | | | | | of the switch block to appease GCC. llvm-svn: 123317 | ||||
* | Add another note taken from the gcc bugzilla. | Nick Lewycky | 2011-01-12 | 1 | -1/+20 |
| | | | | llvm-svn: 123315 | ||||
* | Implement RETURNADDR and FRAMEADDR lowering in SPARC backend. | Venkatraman Govindaraju | 2011-01-12 | 3 | -4/+85 |
| | | | | llvm-svn: 123310 | ||||
* | Remove SPARC backend getpcx instruction's Uses. Also, insert an assert to | Venkatraman Govindaraju | 2011-01-12 | 2 | -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 Lattner | 2011-01-12 | 1 | -3/+0 |
| | | | | llvm-svn: 123302 | ||||
* | Fix SPARC backend call instruction so that arguments passed through registers | Venkatraman Govindaraju | 2011-01-12 | 2 | -11/+24 |
| | | | | | | | 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 cause | Chris Lattner | 2011-01-12 | 1 | -2/+0 |
| | | | | | | of the bootstrap miscompare issue. llvm-svn: 123299 | ||||
* | revert r123149, reenabling an improvement to memcpyopt that wasn't | Chris Lattner | 2011-01-12 | 1 | -4/+2 |
| | | | | | | the source of the bootstrap problem. llvm-svn: 123298 | ||||
* | Prefer llvm_unreachable to assert(0) | Matt Beaumont-Gay | 2011-01-12 | 1 | -3/+3 |
| | | | | llvm-svn: 123297 | ||||
* | 1. Support ELF pcrel relocations for movw/movt: | Jason W Kim | 2011-01-12 | 5 | -5/+59 |
| | | | | | | | | 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 Kim | 2011-01-11 | 1 | -0/+106 |
| | | | | | | .s Test added. llvm-svn: 123292 | ||||
* | The world is not ready for LiveDebugVariables yet. | Jakob Stoklund Olesen | 2011-01-11 | 1 | -1/+1 |
| | | | | llvm-svn: 123290 | ||||
* | Remove the PR8954 workaround. | Jakob Stoklund Olesen | 2011-01-11 | 1 | -4/+0 |
| | | | | llvm-svn: 123288 | ||||
* | Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor. | Jakob Stoklund Olesen | 2011-01-11 | 1 | -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 Olesen | 2011-01-11 | 1 | -1/+1 |
| | | | | llvm-svn: 123282 | ||||
* | SPARC backend: correct ICC/FCC uses for ADDX and SELECT_CC | Venkatraman Govindaraju | 2011-01-11 | 1 | -15/+19 |
| | | | | llvm-svn: 123281 | ||||
* | Dial back the speculative fix for PR8954 a bit, so that we only recompute ↵ | Cameron Zwarich | 2011-01-11 | 1 | -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 Olesen | 2011-01-11 | 1 | -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 Cheng | 2011-01-11 | 6 | -13/+15 |
| | | | | llvm-svn: 123276 | ||||
* | Appropriately truncate debug info range in dwarf output. | Devang Patel | 2011-01-11 | 1 | -15/+5 |
| | | | | | | This is not yet completely enabled. llvm-svn: 123274 | ||||
* | Attempt to fix the bootstrap buildbot. Rafael says this works for him on ↵ | Cameron Zwarich | 2011-01-11 | 1 | -0/+1 |
| | | | | | | x86-64 Linux. llvm-svn: 123270 | ||||
* | McARM: Fill in GetMnemonicAcceptInfo(). | Daniel Dunbar | 2011-01-11 | 1 | -2/+17 |
| | | | | llvm-svn: 123253 | ||||
* | Remove dead variable, const-ref-ize an APInt. | Owen Anderson | 2011-01-11 | 1 | -4/+1 |
| | | | | llvm-svn: 123248 | ||||
* | this pass claims to preserve scev, make sure to tell it about deletions. | Chris Lattner | 2011-01-11 | 1 | -0/+1 |
| | | | | llvm-svn: 123247 | ||||
* | Fix a comment: We now have intrinsics for vcvtr. | Bob Wilson | 2011-01-11 | 1 | -1/+0 |
| | | | | llvm-svn: 123246 | ||||
* | some comment improvements. | Chris Lattner | 2011-01-11 | 1 | -3/+4 |
| | | | | llvm-svn: 123243 | ||||
* | Fix PR8946, a missing reg/reg form of movdqu. | Chris Lattner | 2011-01-11 | 1 | -0/+4 |
| | | | | llvm-svn: 123242 | ||||
* | McARM: Sketch some logic for determining when to add carry set and ↵ | Daniel Dunbar | 2011-01-11 | 1 | -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 the | Daniel Dunbar | 2011-01-11 | 1 | -11/+32 |
| | | | | | | | | | | 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 a | Jay Foad | 2011-01-11 | 2 | -11/+22 |
| | | | | | | | | | | | "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 Bommel | 2011-01-11 | 1 | -26/+37 |
| | | | | | | | | a new helper function so it can be reused in e.g. an upcoming SimplifySwitchOnSelect. No functional change. llvm-svn: 123234 | ||||
* | Fix a thinko in 123226 that caused test failures on "other" platforms. | Kalle Raiskila | 2011-01-11 | 1 | -1/+1 |
| | | | | llvm-svn: 123229 | ||||
* | Add a "nop filler" pass to SPU. | Kalle Raiskila | 2011-01-11 | 6 | -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 trying | Eric Christopher | 2011-01-11 | 1 | -8/+4 |
| | | | | | | to get a testcase. llvm-svn: 123225 | ||||
* | update memdep when an instruction is deleted. This code isn't | Chris Lattner | 2011-01-11 | 1 | -2/+5 |
| | | | | | | | actually reached in the testcase in PR8954, but it's safe and good practice. llvm-svn: 123224 | ||||
* | when MergeBlockIntoPredecessor merges two blocks, update MemDep if it | Chris Lattner | 2011-01-11 | 1 | -0/+4 |
| | | | | | | is floating around in the ether. llvm-svn: 123223 | ||||
* | Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes | Chris Lattner | 2011-01-11 | 2 | -5/+21 |
| | | | | | | | | | | phi nodes. It is called from MergeBlockIntoPredecessor which is called from GVN, which claims to preserve these. I'm skeptical that this is the actual problem behind PR8954, but this is a stab in the right direction. llvm-svn: 123222 | ||||
* | random cleanups | Chris Lattner | 2011-01-11 | 2 | -3/+2 |
| | | | | llvm-svn: 123221 | ||||
* | remove a bogus assertion: the latch block of a loop is not | Chris Lattner | 2011-01-11 | 1 | -6/+5 |
| | | | | | | | neccesarily an uncond branch to the header. This fixes PR8955 (the assertion tripping). llvm-svn: 123219 | ||||
* | the GEP faq says that only inbounds geps are guaranteed to not overflow. | Chris Lattner | 2011-01-11 | 1 | -2/+3 |
| | | | | llvm-svn: 123218 | ||||
* | Revert r123207: "Turn on memdep's verifyRemoved() in an attempt to smoke out ↵ | Jakob Stoklund Olesen | 2011-01-11 | 1 | -3/+1 |
| | | | | | | | | the cause of our gcc bootstrap miscompare." It didn't. llvm-svn: 123215 |