Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Revert r122359 while I debug PR8845. | Rafael Espindola | 2010-12-22 | 1 | -5/+19 | |
| | | | | llvm-svn: 122427 | |||||
* | Fix another conditional expression mismatched enum type warning. | Matt Beaumont-Gay | 2010-12-22 | 1 | -1/+2 | |
| | | | | llvm-svn: 122419 | |||||
* | When determining whether the new instruction was already present in | Duncan Sands | 2010-12-22 | 2 | -6/+19 | |
| | | | | | | | | the original instruction, half the cases were missed (making it not wrong but suboptimal). Also correct a typo (A <-> B) in the second chunk. llvm-svn: 122414 | |||||
* | Make this test not depend on how the variable is named. | Duncan Sands | 2010-12-22 | 1 | -2/+2 | |
| | | | | llvm-svn: 122413 | |||||
* | MC/Mach-O/ARM: We always use the SECTDIFF reloc type on ARM, which is | Daniel Dunbar | 2010-12-22 | 2 | -23/+73 | |
| | | | | | | esp. important given that the LOCAL_SECTDIFF enumeration got redefined. llvm-svn: 122412 | |||||
* | MC/Mach-O/ARM: Clone off an ARM version of RecordScatteredRelocation until I ↵ | Daniel Dunbar | 2010-12-22 | 1 | -4/+68 | |
| | | | | | | figure out how it is supposed to work. llvm-svn: 122410 | |||||
* | MC/Mach-O: Return to reporting errors if we see unexpected fixup kinds. | Daniel Dunbar | 2010-12-22 | 1 | -6/+3 | |
| | | | | llvm-svn: 122409 | |||||
* | MC/Mach-O/ARM: Recognize generic _Data_N fixup kinds. | Daniel Dunbar | 2010-12-22 | 1 | -0/+16 | |
| | | | | llvm-svn: 122408 | |||||
* | MC/Mach-O/ARM: Add enough relocation logic to get BR24 relocations. | Daniel Dunbar | 2010-12-22 | 2 | -3/+128 | |
| | | | | llvm-svn: 122407 | |||||
* | MC/Mach-O/ARM: Fix thinko. | Daniel Dunbar | 2010-12-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 122406 | |||||
* | Use references and simplify. | Rafael Espindola | 2010-12-22 | 3 | -8/+5 | |
| | | | | llvm-svn: 122405 | |||||
* | Simplify the handling of .size expressions. | Rafael Espindola | 2010-12-22 | 2 | -27/+6 | |
| | | | | llvm-svn: 122404 | |||||
* | MC/Mach-O/ARM: Stub out RecordARMRelocation, which is mostly a copy of | Daniel Dunbar | 2010-12-22 | 1 | -1/+78 | |
| | | | | | | RecordRelocation with lots of FIXMEs. llvm-svn: 122402 | |||||
* | Simplify. | Daniel Dunbar | 2010-12-22 | 1 | -6/+5 | |
| | | | | llvm-svn: 122401 | |||||
* | MC/Mach-O: Split out RecordARMRelocation for now, it is weird enough it isn't | Daniel Dunbar | 2010-12-22 | 1 | -0/+15 | |
| | | | | | | | clear how to keep in the generic path (yet). - Will revisit when it actually works. llvm-svn: 122400 | |||||
* | Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C) | Duncan Sands | 2010-12-22 | 6 | -73/+154 | |
| | | | | | | | | if both A op B and A op C simplify. This fires fairly often but doesn't make that much difference. On gcc-as-one-file it removes two "and"s and turns one branch into a select. llvm-svn: 122399 | |||||
* | ptx: add ld instruction and test | Che-Liang Chiou | 2010-12-22 | 7 | -22/+225 | |
| | | | | llvm-svn: 122398 | |||||
* | Add some statistics, good for understanding how much more powerful | Duncan Sands | 2010-12-22 | 2 | -16/+60 | |
| | | | | | | instcombine is compared to instsimplify. llvm-svn: 122397 | |||||
* | Fixes file extension for loadable modules on OS X. | Oscar Fuentes | 2010-12-22 | 1 | -1/+7 | |
| | | | | | | Patch by Wesley Peck! llvm-svn: 122395 | |||||
* | Fix a bug in ReduceLoadWidth that wasn't handling extending | Chris Lattner | 2010-12-22 | 2 | -4/+25 | |
| | | | | | | | | | | | | | | | | | | | | | loads properly. We miscompiled the testcase into: _test: ## @test movl $128, (%rdi) movzbl 1(%rdi), %eax ret Now we get a proper: _test: ## @test movl $128, (%rdi) movsbl (%rdi), %eax movzbl %ah, %eax ret This fixes PR8757. llvm-svn: 122392 | |||||
* | more cleanups, move a check for "roundedness" earlier to reject | Chris Lattner | 2010-12-22 | 1 | -14/+20 | |
| | | | | | | unhanded cases faster and simplify code. llvm-svn: 122391 | |||||
* | reduce indentation and improve comments, no functionality change. | Chris Lattner | 2010-12-22 | 1 | -51/+53 | |
| | | | | llvm-svn: 122389 | |||||
* | Don't generate carry bit when loading immediate values on the Microblaze. | Wesley Peck | 2010-12-22 | 2 | -2/+2 | |
| | | | | llvm-svn: 122385 | |||||
* | Add support for some of the LLVM atomic operations to the MBlaze backend. | Wesley Peck | 2010-12-22 | 3 | -156/+386 | |
| | | | | llvm-svn: 122384 | |||||
* | Modeling the carry bit in the MSR register of the MicroBlaze. | Wesley Peck | 2010-12-22 | 3 | -83/+140 | |
| | | | | llvm-svn: 122381 | |||||
* | Fix a regression introduced into the MBlaze delay slot filler. | Wesley Peck | 2010-12-22 | 1 | -6/+25 | |
| | | | | llvm-svn: 122379 | |||||
* | Give GVN back the ability to perform simple conditional propagation on ↵ | Owen Anderson | 2010-12-21 | 2 | -52/+137 | |
| | | | | | | | | | conditional branch values. I still think that LVI should be handling this, but that capability is some ways off in the future, and this matters for some significant benchmarks. llvm-svn: 122378 | |||||
* | GCC objects to the two sides of a conditional expression having different enum | Matt Beaumont-Gay | 2010-12-21 | 1 | -2/+2 | |
| | | | | | | | types, but they're just getting converted to unsigned anyway, so cast first (and ask questions later). llvm-svn: 122377 | |||||
* | Remove dead code. | Owen Anderson | 2010-12-21 | 1 | -9/+0 | |
| | | | | llvm-svn: 122371 | |||||
* | In DelayForLiveRegsBottomUp, handle instructions that read and write | Andrew Trick | 2010-12-21 | 1 | -15/+4 | |
| | | | | | | | the same physical register. Simplifies the fix from the previous checkin r122211. llvm-svn: 122370 | |||||
* | whitespace | Andrew Trick | 2010-12-21 | 1 | -42/+42 | |
| | | | | llvm-svn: 122368 | |||||
* | Reapply 122353-122355 with fixes. 122354 was wrong; | Dale Johannesen | 2010-12-21 | 3 | -7/+44 | |
| | | | | | | | | the shift type was needed one place, the shift count type another. The transform in 123555 had the same problem. llvm-svn: 122366 | |||||
* | Add some x86 specific dagcombines for conditional increments. | Benjamin Kramer | 2010-12-21 | 2 | -0/+131 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (add Y, (sete X, 0)) -> cmp X, 1; adc 0, Y (add Y, (setne X, 0)) -> cmp X, 1; sbb -1, Y (sub (sete X, 0), Y) -> cmp X, 1; sbb 0, Y (sub (setne X, 0), Y) -> cmp X, 1; adc -1, Y for unsigned foo(unsigned a, unsigned b) { if (a == 0) b++; return b; } we now get: foo: cmpl $1, %edi movl %esi, %eax adcl $0, %eax ret instead of: foo: testl %edi, %edi sete %al movzbl %al, %eax addl %esi, %eax ret llvm-svn: 122364 | |||||
* | GVN's Expression is not POD-like (it contains a SmallVector). Simplify code ↵ | Benjamin Kramer | 2010-12-21 | 1 | -13/+3 | |
| | | | | | | while at it. llvm-svn: 122362 | |||||
* | Revert 122353-122355 for the moment, they broke stuff. | Dale Johannesen | 2010-12-21 | 3 | -42/+6 | |
| | | | | llvm-svn: 122360 | |||||
* | Simplify EvaluateAsAbsolute now that EvaluateAsRelocatableImpl does all | Rafael Espindola | 2010-12-21 | 1 | -19/+5 | |
| | | | | | | the folding it can. llvm-svn: 122359 | |||||
* | Don't relax org or align. They change size as the relaxation happens, but they | Rafael Espindola | 2010-12-21 | 2 | -62/+30 | |
| | | | | | | | are not actually relaxed. For example, a section with only alignments will never needs relaxation. llvm-svn: 122356 | |||||
* | Add a new transform to DAGCombiner. | Dale Johannesen | 2010-12-21 | 2 | -0/+36 | |
| | | | | llvm-svn: 122355 | |||||
* | Get the type of a shift from the shift, not from its shift | Dale Johannesen | 2010-12-21 | 2 | -4/+4 | |
| | | | | | | | | count operand. These should be the same but apparently are not always, and this is cleaner anyway. This improves the code in an existing test. llvm-svn: 122354 | |||||
* | Shift by the word size is invalid IR; don't create it. | Dale Johannesen | 2010-12-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 122353 | |||||
* | fix some typos | Chris Lattner | 2010-12-21 | 1 | -2/+1 | |
| | | | | llvm-svn: 122349 | |||||
* | Revert 122341. It breaks some darwin tests. | David Greene | 2010-12-21 | 3 | -50/+2 | |
| | | | | llvm-svn: 122346 | |||||
* | Fix indentation, add comment. | Stuart Hastings | 2010-12-21 | 1 | -4/+6 | |
| | | | | llvm-svn: 122345 | |||||
* | Visit instructions deterministically. Use a FIFO so as to approximately | Duncan Sands | 2010-12-21 | 1 | -11/+21 | |
| | | | | | | | visit instructions before their uses, since InstructionSimplify does a better job in that case. All this prompted by Frits van Bommel. llvm-svn: 122343 | |||||
* | Missing logic for nested CALLSEQ_START/END. | Stuart Hastings | 2010-12-21 | 1 | -2/+5 | |
| | | | | llvm-svn: 122342 | |||||
* | Fix PR 8199. This patch prepends the build tool dir to LLVM programs | David Greene | 2010-12-21 | 3 | -2/+50 | |
| | | | | | | | | being tested. This ensures that we test the tools just built and not some random tools that might happen to be in the user's PATH. This makes LLVM testing much more stable and predictable. llvm-svn: 122341 | |||||
* | Tidy up a bit. Trailing whitespace, hard tabs and 80-columns. | Jim Grosbach | 2010-12-21 | 4 | -536/+536 | |
| | | | | llvm-svn: 122337 | |||||
* | If an instruction simplifies, try again to simplify any uses of it. This is | Duncan Sands | 2010-12-21 | 1 | -4/+32 | |
| | | | | | | | not very important since the pass is only used for testing, but it does make it more realistic. Suggested by Frits van Bommel. llvm-svn: 122336 | |||||
* | MC/Mach-O: Shuffle enums a bit to make it harder to inadvertently use the wrong | Daniel Dunbar | 2010-12-21 | 3 | -15/+28 | |
| | | | | | | type. llvm-svn: 122334 | |||||
* | Add an additional InstructionSimplify factorization test. | Duncan Sands | 2010-12-21 | 1 | -0/+10 | |
| | | | | llvm-svn: 122333 |