aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-17Enable arm jumpt table adjustment.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89143 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Disable -split-phi-edges to unbreak the buildbotsJakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Never call UpdateTerminator() when AnalyzeBranch would fail.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89139 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Forgot to commit test fixesAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89138 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Both Darwin as and GNU as violate ARM docs wrt printing of addrmode6Anton Korobeynikov
alignment imm (in the same way). Fix asmprinting for non-darwin platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89137 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89130 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Fix comment.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Enable -split-phi-edges by default, except when -regalloc=local.Jakob Stoklund Olesen
The local register allocator doesn't like it when LiveVariables is run. We should also disable edge splitting under -O0, but that has to wait a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89125 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-1780-column violationsJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89123 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Added getArchNameForAssembler method to the Triple class for which returns ↵Viktor Kutuzov
OS and Vendor independent target assembler arch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove a special case for tail merging that seems to be both broken andBob Wilson
unnecessary. It is broken because the "isIdenticalTo" check should be negated. If that is fixed, this code causes the CodeGen/X86/tail-opts.ll test to fail, in the dont_merge_oddly function. And, I confirmed that the regression is real -- the generated code is worse. As far as I can tell, that tail-opts.ll test is checking for what this code is supposed to handle and we're doing the right thing anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89121 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Generalize OptimizeLoopTermCond to optimize more loop terminating icmp to ↵Evan Cheng
use postinc iv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89116 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Set MadeChange instead of MadeChangeThisIteration.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Revert CPU detection code to return "generic" instead of an empty string in caseBenjamin Kramer
of failure. The x86 target didn't like empty cpu names and broke x86 tests on non-x86 buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89111 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove trailing whitespaceJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Update a comment, now that tail duplication happens after other branchBob Wilson
folding optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89109 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Set Inst{15-12} (Rd/Rt) to 0b1111 (PC) for BR_JTadd, BR_JTr, and BR_JTm toJohnny Chen
distinguish between them and the more generic instructions (add, mov, and ldr). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Perform tail duplication only once, after tail merging is complete.Bob Wilson
It was too difficult to keep the heuristics for merging and duplication consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17add Case() with 5 argsNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89099 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Fix HTML formatting.Jay Foad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-171. Allow SCCIterator to work with GraphT types that are constant.Duncan Sands
2. Allow SCCIterator to work with inverse graphs. 3. Fix an incorrect comment in GraphTraits.h (the type in the comment was given as GraphType* when it is actually const GraphType &). Patch by Patrick Alexander Simmons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Make bugpoint pass -load arguments to LLI. This lets one use bugpoint withDuncan Sands
programs that depend on native shared libraries. Patch by Timo Lindfors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Revert 89021. It's miscompiling llvm-gcc driver driver at -O0.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Re-apply 89011. It's not to be blamed.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17"XFAIL" the Split2 StringReft test with Apple gcc, which miscompiles it.Daniel Dunbar
- I plan on fixing/workarounding this, but until then I'd like the bots to stay green. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89077 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Revert 89011. Buildbot thinks it might be breaking stuff.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Following a suggestion of Daniel Dunbar, stop people passing the nameDuncan Sands
as the isSigned bool to CreateIntCast by having this resolve to a call to a private method, rather than by using a gcc attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Revert r88939.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Fail less mysteriously; inform the user that their LLVM was not built withNick Lewycky
libffi support and that the interpreter can't call external functions without it. Patch by Timo Juhani Lindfors! Fixes PR5466. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89062 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Fixed call to wrong constructor.Lang Hames
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Fix a race condition in the Timer class.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Refactor the code that creates the "dot-label" difference. This may be used inBill Wendling
more than one place. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89024 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17When moving a block for table jumps, make sure the prior block terminatorJim Grosbach
is analyzable so it can be updated. If it's not, be safe and don't move the block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Enable -split-phi-edges by defaultJakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89021 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17MOV64rm should be marked isReMaterializable.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove the optimizations that convert BRCOND and BR_CC intoDan Gohman
unconditional branches or fallthroghes. Instcombine/SimplifyCFG should be simplifying branches with known conditions. This fixes some problems caused by these transformations not updating the MachineBasicBlock CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Remove debug info attached with an instruction.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89016 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17In GlobalVariable::setInitializer, assert that the initializer has theJeffrey Yasskin
right type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17A few more instructions that should be marked re-materializable.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Convert to FileCheckJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89007 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Convert to FileCheckJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89002 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Cleanup. Missed removing these when converting. Oops.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89001 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Set Rm bits of BX_RET to 0b1110 (R14); and set condition code bits of BRIND toJohnny Chen
0b1110 (ALways). This is so that the disassembler decoder can distinguish among BX_RET, BRIND, and BXr9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89000 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Fix this test - there don't appear to be any actual Reload ReusesDan Gohman
in this testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88998 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Revert r87049, which was the workaround for the regression triggeredDan Gohman
by the recent FixedStackPseudoSourceValue-related changes, now that the specific bug that affected it is fixed, in r88954. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Revert the test from r88984. It relies on being able to mmap 16GB ofJeffrey Yasskin
address space (though it only uses a small fraction of that), and the buildbots disallow that. Also add a comment to the Makefile's ulimit line warning future developers that changing it won't work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88994 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Convert to FileCheckJim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88991 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Initialize the new AsmPrinterFlags field to 0, fixing uses ofDan Gohman
uninitialized memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-16Make X86-64 in the Large model always emit 64-bit calls.Jeffrey Yasskin
The large code model is documented at http://www.x86-64.org/documentation/abi.pdf and says that calls should assume their target doesn't live within the 32-bit pc-relative offset that fits in the call instruction. To do this, we turn off the global-address->target-global-address conversion in X86TargetLowering::LowerCall(). The first attempt at this broke the lazy JIT because it can separate the movabs(imm->reg) from the actual call instruction. The lazy JIT receives the address of the movabs as a relocation and needs to record the return address from the call; and then when that call happens, it needs to patch the movabs with the newly-compiled target. We could thread the call instruction into the relocation and record the movabs<->call mapping explicitly, but that seems to require at least as much new complication in the code generator as this change. To fix this, we make lazy functions _always_ go through a call stub. You'd think we'd only have to force lazy calls through a stub on difficult platforms, but that turns out to break indirect calls through a function pointer. The right fix for that is to distinguish between calls and address-of operations on uncompiled functions, but that's complex enough to leave for someone else to do. Another attempt at this defined a new CALL64i pseudo-instruction, which expanded to a 2-instruction sequence in the assembly output and was special-cased in the X86CodeEmitter's emitInstruction() function. That broke indirect calls in the same way as above. This patch also removes a hack forcing Darwin to the small code model. Without far-call-stubs, the small code model requires things of the JITMemoryManager that the DefaultJITMemoryManager can't provide. Thanks to echristo for lots of testing! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88984 91177308-0d34-0410-b5e6-96231b3b80d8