| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
handlers.
llvm-svn: 108938
|
|
|
|
| |
llvm-svn: 108918
|
|
|
|
| |
llvm-svn: 108892
|
|
|
|
|
|
|
| |
one loop is involved in the increment of an addrec for another
loop. This fixes rdar://8168938.
llvm-svn: 108863
|
|
|
|
| |
llvm-svn: 108846
|
|
|
|
| |
llvm-svn: 108843
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix a typo for PIC check during jmp table lowering
- Also fix the "first jump table basic block is not
considered only reachable by fall through" problem, use this
ad-hoc solution until I come up with something better.
Patch by stetorvs@gmail.com
llvm-svn: 108820
|
|
|
|
| |
llvm-svn: 108816
|
|
|
|
| |
llvm-svn: 108789
|
|
|
|
| |
llvm-svn: 108788
|
|
|
|
| |
llvm-svn: 108769
|
|
|
|
|
|
|
| |
update the current basic block in addition to the current insert
position, so that they remain consistent. This fixes rdar://8204072.
llvm-svn: 108765
|
|
|
|
|
|
|
|
| |
instruction, we only want to allow the one for the current subtarget.
- This also fixes suffix matching for jmp instructions, because it eliminates
the ambiguity between 'jmpl' and 'jmpq'.
llvm-svn: 108746
|
|
|
|
| |
llvm-svn: 108733
|
|
|
|
|
|
| |
Do not try to insert local variable info to a DIE used for function declaration.
llvm-svn: 108731
|
|
|
|
| |
llvm-svn: 108689
|
|
|
|
| |
llvm-svn: 108688
|
|
|
|
| |
llvm-svn: 108685
|
|
|
|
|
|
| |
assembling; remove crufty custom cleanup code.
llvm-svn: 108681
|
|
|
|
| |
llvm-svn: 108666
|
|
|
|
| |
llvm-svn: 108658
|
|
|
|
|
|
| |
sequences, not just strings.
llvm-svn: 108655
|
|
|
|
| |
llvm-svn: 108654
|
|
|
|
| |
llvm-svn: 108653
|
|
|
|
| |
llvm-svn: 108652
|
|
|
|
|
|
| |
is a very reasonable position on life!
llvm-svn: 108650
|
|
|
|
|
|
| |
support macros.
llvm-svn: 108649
|
|
|
|
| |
llvm-svn: 108640
|
|
|
|
| |
llvm-svn: 108614
|
|
|
|
|
|
|
| |
instruction for non-constant operands. This includes the case referenced
in the README.txt regarding a bitfield copy.
llvm-svn: 108608
|
|
|
|
| |
llvm-svn: 108607
|
|
|
|
|
|
|
| |
and a combine pattern to use it for setting a bit-field to a constant
value. More to come for non-constant stores.
llvm-svn: 108570
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void foo() { __builtin_unreachable(); }
It will output the following on Darwin X86:
_func1:
Leh_func_begin0:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
Leh_func_end0:
This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.
llvm-svn: 108568
|
|
|
|
|
|
|
|
|
| |
pass that inserted it.
It is no longer necessary to limit the live ranges of FP registers to a single
basic block.
llvm-svn: 108536
|
|
|
|
| |
llvm-svn: 108523
|
|
|
|
| |
llvm-svn: 108517
|
|
|
|
|
|
| |
This fixes PR7649.
llvm-svn: 108513
|
|
|
|
|
|
| |
TII::isMoveInstr is going tobe completely removed.
llvm-svn: 108507
|
|
|
|
| |
llvm-svn: 108506
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 108491
|
|
|
|
|
|
|
|
|
|
| |
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: 108441
|
|
|
|
|
|
|
| |
a zero. This situation arrises in Fortran code with induction variables
that start at 1 instead of 0. This fixes PR7651.
llvm-svn: 108424
|