| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
because it's more likely to keep debug line information in its original
order.
llvm-svn: 108496
|
|
|
|
|
|
| |
Working on testcases for Owen.
llvm-svn: 108494
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108478
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
-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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108460
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108453
|
|
|
|
| |
llvm-svn: 108452
|
|
|
|
|
|
| |
This helps LSR behave more consistently on bugpoint-reduced testcases.
llvm-svn: 108451
|
|
|
|
| |
llvm-svn: 108450
|
|
|
|
|
|
| |
make sure to allocate enough space in the std::vector.
llvm-svn: 108449
|
|
|
|
| |
llvm-svn: 108448
|
|
|
|
| |
llvm-svn: 108441
|
|
|
|
| |
llvm-svn: 108440
|
|
|
|
| |
llvm-svn: 108438
|
|
|
|
| |
llvm-svn: 108436
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108427
|
|
|
|
|
|
|
| |
a zero. This situation arrises in Fortran code with induction variables
that start at 1 instead of 0. This fixes PR7651.
llvm-svn: 108424
|
|
|
|
|
|
| |
This now passes LIT, nighty test, and llvm-gcc bootstrap on my machine.
llvm-svn: 108422
|
|
|
|
| |
llvm-svn: 108421
|
|
|
|
| |
llvm-svn: 108419
|
|
|
|
| |
llvm-svn: 108418
|
|
|
|
| |
llvm-svn: 108417
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108413
|
|
|
|
|
|
| |
get *very* large, but we only need it to be the size of the number of pregs.
llvm-svn: 108412
|
|
|
|
|
|
| |
get *very* large, but we only need it to be the size of thenumber of pregs.
llvm-svn: 108411
|
|
|
|
| |
llvm-svn: 108407
|
|
|
|
| |
llvm-svn: 108401
|
|
|
|
| |
llvm-svn: 108396
|
|
|
|
|
|
| |
follow on to r103765
llvm-svn: 108390
|
|
|
|
| |
llvm-svn: 108389
|
|
|
|
| |
llvm-svn: 108387
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
lowering atomics. This will allow those copies to still be coalesced after
TII::isMoveInstr is removed.
llvm-svn: 108385
|
|
|
|
| |
llvm-svn: 108381
|
|
|
|
|
|
| |
value into a single larger comparison.
llvm-svn: 108378
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108368
|
|
|
|
| |
llvm-svn: 108366
|
|
|
|
| |
llvm-svn: 108364
|
|
|
|
| |
llvm-svn: 108358
|
|
|
|
| |
llvm-svn: 108357
|