summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Use the source-order scheduler instead of the "fast" scheduler at -O0,Dan Gohman2010-07-161-1/+1
| | | | | | | because it's more likely to keep debug line information in its original order. llvm-svn: 108496
* Also revert 108422, it's causing some test failures.Eric Christopher2010-07-161-19/+0
| | | | | | Working on testcases for Owen. llvm-svn: 108494
* The SelectionDAGBuilder's handling of debug info, on rareDale Johannesen2010-07-162-12/+60
| | | | | | | | | | occasions, caused code to be generated in a different order. All cases I've seen involved float softening in the type legalizer, and this could be perhaps be fixed there, but it's better not to generate things differently in the first place. 7797940 (6/29/2010..7/15/2010). llvm-svn: 108484
* Revert. This isn't the correct way to go.Bill Wendling2010-07-152-15/+1
| | | | llvm-svn: 108478
* Fix the order that SCEVExpander considers add operands in so thatDan Gohman2010-07-151-2/+14
| | | | | | | it doesn't miss an opportunity to form a GEP, regardless of the relative loop depths of the operands. This fixes rdar://8197217. llvm-svn: 108475
* Handle code gen for the unreachable instruction if it's the only instruction inBill Wendling2010-07-152-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the function. We'll just turn it into a "trap" instruction instead. The problem with not handling this is that it might generate a prologue without the equivalent epilogue to go with it: $ cat t.ll define void @foo() { entry: unreachable } $ llc -o - t.ll -relocation-model=pic -disable-fp-elim -unwind-tables .section __TEXT,__text,regular,pure_instructions .globl _foo .align 4, 0x90 _foo: ## @foo Leh_func_begin0: ## BB#0: ## %entry pushq %rbp Ltmp0: movq %rsp, %rbp Ltmp1: Leh_func_end0: ... The unwind tables then have bad data in them causing all sorts of problems. Fixes <rdar://problem/8096481>. llvm-svn: 108473
* Split -enable-finite-only-fp-math to two options:Evan Cheng2010-07-156-26/+22
| | | | | | -enable-no-nans-fp-math and -enable-no-infs-fp-math. All of the current codegen fp math optimizations only care whether the fp arithmetics arguments and results can never be NaN. llvm-svn: 108465
* fix the definitions of ConstTextCoalSection/ConstDataCoalSectionChris Lattner2010-07-151-2/+3
| | | | | | | | | | | to keep "Text" in sync with the "pure instructions" section attribute. Lack of this attribute was preventing the assembler from emitting multibyte noops instructions for templates (and inlines, and other coalesced stuff) and was causing the assembler to mismatch .o files. This fixes rdar://8018335 llvm-svn: 108461
* fix indentation and 80 colsChris Lattner2010-07-151-2/+3
| | | | llvm-svn: 108460
* Don't merge uses when they are targetting fixup sites withDan Gohman2010-07-151-1/+20
| | | | | | | | | | | | | different widths. In a use with a narrower fixup, formulae may be wider than the fixup, in which case the high bits aren't necessarily meaningful, so it isn't safe to reuse them for uses with wider fixups. This fixes PR7618, though the testcase is too large for a reasonable regression test, since it heavily dependes on hitting LSR's heuristics in a certain way. llvm-svn: 108455
* fix the encoding of MMX_MOVFR642Qrr, it starts with 0xF2 not 0xF3,Chris Lattner2010-07-151-1/+1
| | | | | | | | this fixes rdar://8192860. Unfortunately it can only be triggered with llc because llvm-mc matches another (correctly encoded) version of this, so no testcase. llvm-svn: 108454
* Use dbgs() instead of errs() in a DEBUG.Dan Gohman2010-07-151-1/+1
| | | | llvm-svn: 108453
* Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.Bill Wendling2010-07-151-3/+3
| | | | llvm-svn: 108452
* Teach ScalarEvolution how to fold trunc(undef) and anyext(undef) to undef.Dan Gohman2010-07-151-0/+14
| | | | | | This helps LSR behave more consistently on bugpoint-reduced testcases. llvm-svn: 108451
* Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.Bill Wendling2010-07-151-2/+3
| | | | llvm-svn: 108450
* Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister. This timeBill Wendling2010-07-153-18/+24
| | | | | | make sure to allocate enough space in the std::vector. llvm-svn: 108449
* Reserve a goodly amount of room for the vectors.Bill Wendling2010-07-151-2/+4
| | | | llvm-svn: 108448
* Fix crash reported in PR7653.Devang Patel2010-07-151-1/+1
| | | | llvm-svn: 108441
* Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.Bill Wendling2010-07-152-14/+14
| | | | llvm-svn: 108440
* Use std::vector instead of TargetRegisterInfo::FirstVirtualRegister.Bill Wendling2010-07-151-1/+1
| | | | llvm-svn: 108438
* Speculatively revert r108429 to fix the clang self-host.Owen Anderson2010-07-152-19/+28
| | | | llvm-svn: 108436
* Per Chris' suggestion, get rid of the select canonicalization and just addOwen Anderson2010-07-152-28/+19
| | | | | | | | the corresponding or-icmp-and pattern. This has the added benefit of doing the matching earlier, and thus being less susceptible to being confused by earlier transforms. llvm-svn: 108429
* Remove unneeded check, and correct style.Owen Anderson2010-07-151-3/+2
| | | | llvm-svn: 108427
* Watch out for a constant offset cancelling out a base register, formingDan Gohman2010-07-151-2/+9
| | | | | | | a zero. This situation arrises in Fortran code with induction variables that start at 1 instead of 0. This fixes PR7651. llvm-svn: 108424
* Reapply r108378, with bugfixes, testcase, and improved comment formatting.Owen Anderson2010-07-152-0/+47
| | | | | | This now passes LIT, nighty test, and llvm-gcc bootstrap on my machine. llvm-svn: 108422
* cache another dereferenced iteratorGabor Greif2010-07-151-4/+6
| | | | llvm-svn: 108421
* revert bill's patches in an attempt to fix the buildbot.Chris Lattner2010-07-154-27/+22
| | | | llvm-svn: 108419
* This is a full sentence.Nick Lewycky2010-07-151-1/+1
| | | | llvm-svn: 108418
* Disable aliases on all platforms.Nick Lewycky2010-07-151-0/+5
| | | | llvm-svn: 108417
* Fix PR7647, handling the case when 'To' ends up being Chris Lattner2010-07-151-14/+34
| | | | | | | | | | mutated by recursive simplification. This also enhances ReplaceAndSimplifyAllUses to actually do a real RAUW at the end of it, which updates any value handles pointing to "From" to start pointing to "To". This seems useful for debug info and random other VH users. llvm-svn: 108415
* make various clients of ReplaceAndSimplifyAllUses tolerate Chris Lattner2010-07-151-2/+3
| | | | | | | | it *changing* the things it replaces, not just causing them to drop to null. There is no functionality change yet, but this is required for a subsequent patch. llvm-svn: 108414
* Fix headers.Bill Wendling2010-07-152-1/+1
| | | | llvm-svn: 108413
* Use std::vector instead of a hard-coded array. The length of that array couldBill Wendling2010-07-152-17/+20
| | | | | | get *very* large, but we only need it to be the size of the number of pregs. llvm-svn: 108412
* Use std::vector instead of a hard-coded array. The length of that array couldBill Wendling2010-07-152-6/+8
| | | | | | get *very* large, but we only need it to be the size of thenumber of pregs. llvm-svn: 108411
* Revert r108401; it breaks bootstrap :(Eli Friedman2010-07-151-3/+1
| | | | llvm-svn: 108407
* Add AssertingVH which makes PR7647 break consistently.Eli Friedman2010-07-151-1/+3
| | | | llvm-svn: 108401
* Random note about bswap.Eli Friedman2010-07-151-0/+26
| | | | llvm-svn: 108396
* a more graceful fix for test/Other/inline-asm-newline-terminator.ll,Chris Lattner2010-07-152-15/+1
| | | | | | follow on to r103765 llvm-svn: 108390
* Speculatively revert r108378; may be causing bootstrap failures.Eli Friedman2010-07-152-43/+0
| | | | llvm-svn: 108389
* Last COPY conversion.Jakob Stoklund Olesen2010-07-141-3/+2
| | | | llvm-svn: 108387
* Remove restriction on NEON alignment values. Some of the NEON ld/stBob Wilson2010-07-143-9/+4
| | | | | | | instructions use different values (e.g., 2-byte or 4-byte alignment). Also fix ARMInstPrinter to print these alignments as bits instead of bytes. llvm-svn: 108386
* Use TargetOpcode::COPY instead of X86-native register copy instructions whenJakob Stoklund Olesen2010-07-142-30/+27
| | | | | | | lowering atomics. This will allow those copies to still be coalesced after TII::isMoveInstr is removed. llvm-svn: 108385
* 80-col.Eric Christopher2010-07-141-2/+3
| | | | llvm-svn: 108381
* Add instcombine transforms to optimize tests of multiple bits of the same ↵Owen Anderson2010-07-142-0/+43
| | | | | | value into a single larger comparison. llvm-svn: 108378
* Make the order in which variables are described in debug informationDan Gohman2010-07-141-0/+23
| | | | | | | | independent of the order that isel happens to visit the dbg_declare intrinsics. This fixes a bug in which the formal arguments were being printed in reverse order, now that fast isel is going bottom up. llvm-svn: 108369
* fix indentationChris Lattner2010-07-141-9/+7
| | | | llvm-svn: 108368
* Don't pass StringRef by reference.Benjamin Kramer2010-07-1430-55/+54
| | | | llvm-svn: 108366
* Properly restore DebugLoc after leaving the local constant area.Dan Gohman2010-07-141-1/+2
| | | | llvm-svn: 108364
* Just use getParent() instead of getModuleFromVal when the value is a Function.Dan Gohman2010-07-141-1/+1
| | | | llvm-svn: 108358
* Rename WriteConstantInt to WriteConstantInternal, to avoid confusion.Dan Gohman2010-07-141-4/+5
| | | | llvm-svn: 108357
OpenPOWER on IntegriCloud