- Dec 22, 2010
-
-
Rafael Espindola authored
llvm-svn: 122405
-
Rafael Espindola authored
llvm-svn: 122404
-
Daniel Dunbar authored
RecordRelocation with lots of FIXMEs. llvm-svn: 122402
-
Daniel Dunbar authored
llvm-svn: 122401
-
Daniel Dunbar authored
clear how to keep in the generic path (yet). - Will revisit when it actually works. llvm-svn: 122400
-
Duncan Sands authored
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
-
Che-Liang Chiou authored
llvm-svn: 122398
-
Duncan Sands authored
instcombine is compared to instsimplify. llvm-svn: 122397
-
Chris Lattner authored
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
-
Chris Lattner authored
unhanded cases faster and simplify code. llvm-svn: 122391
-
Chris Lattner authored
llvm-svn: 122389
-
Wesley Peck authored
llvm-svn: 122385
-
Wesley Peck authored
llvm-svn: 122384
-
Wesley Peck authored
llvm-svn: 122381
-
Wesley Peck authored
llvm-svn: 122379
-
Owen Anderson authored
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
-
Matt Beaumont-Gay authored
types, but they're just getting converted to unsigned anyway, so cast first (and ask questions later). llvm-svn: 122377
-
- Dec 21, 2010
-
-
Owen Anderson authored
llvm-svn: 122371
-
Andrew Trick authored
the same physical register. Simplifies the fix from the previous checkin r122211. llvm-svn: 122370
-
Andrew Trick authored
llvm-svn: 122368
-
Dale Johannesen authored
the shift type was needed one place, the shift count type another. The transform in 123555 had the same problem. llvm-svn: 122366
-
Benjamin Kramer authored
(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
-
Benjamin Kramer authored
llvm-svn: 122362
-
Dale Johannesen authored
llvm-svn: 122360
-
Rafael Espindola authored
the folding it can. llvm-svn: 122359
-
Rafael Espindola authored
are not actually relaxed. For example, a section with only alignments will never needs relaxation. llvm-svn: 122356
-
Dale Johannesen authored
llvm-svn: 122355
-
Dale Johannesen authored
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
-
Dale Johannesen authored
llvm-svn: 122353
-
Chris Lattner authored
llvm-svn: 122349
-
Stuart Hastings authored
llvm-svn: 122345
-
Duncan Sands authored
visit instructions before their uses, since InstructionSimplify does a better job in that case. All this prompted by Frits van Bommel. llvm-svn: 122343
-
Stuart Hastings authored
llvm-svn: 122342
-
Duncan Sands authored
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
-
Daniel Dunbar authored
type. llvm-svn: 122334
-
Duncan Sands authored
not assume this (for example in case more transforms get added below it). Suggested by Frits van Bommel. llvm-svn: 122332
-
Duncan Sands authored
llvm-svn: 122331
-
Duncan Sands authored
plenty left though!), in particular for multiplication. llvm-svn: 122330
-
Duncan Sands authored
quite often, but don't make much difference in practice presumably because instcombine also knows them and more. llvm-svn: 122328
-
Duncan Sands authored
No functionality change. llvm-svn: 122327
-