| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
is preparatory to having PEI's scavenged frame index value reuse logic
properly distinguish types of frame values (e.g., whether the value is
stack-pointer relative or frame-pointer relative).
No functionality change.
llvm-svn: 98086
|
| |
|
|
|
|
| |
what fields of the CPSR or SPSR are affected.
llvm-svn: 98085
|
| |
|
|
|
|
| |
adjustment when determining if we need a scattered relocation.
llvm-svn: 98082
|
| |
|
|
|
|
| |
entries.
llvm-svn: 98081
|
| |
|
|
| |
llvm-svn: 98080
|
| |
|
|
|
|
|
|
| |
Make it so. (This patch is in LowerCall_Darwin, which seems
to be used by SVR4 code as well; since that doesn't belong here,
I haven't worried about this case.)
llvm-svn: 98077
|
| |
|
|
|
|
|
|
| |
register is involved for thumb1. Work around this for the moment by only
re-using SP-relative offsets. This is temporary 'til the code can distinguish
multiple base registers.
llvm-svn: 98071
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Place the LSDA into the TEXT section for ARM platforms. This involves making the
encoding indirect, pcrel, and sdata4 instead of an absolute pointer. The
references to the type infos are then non-lazy pointers. Revision 98019 changed
the encoding of non-lazy pointers to add the symbol to the non-lazy pointer
definition if it's a local symbol (otherwise, it's external and set to '0' so
that the loader can adjust it to the real value). This paved the way for this
change to work on ARM.
llvm-svn: 98068
|
| |
|
|
|
|
| |
to an add or a sub.
llvm-svn: 98059
|
| |
|
|
| |
llvm-svn: 98058
|
| |
|
|
| |
llvm-svn: 98057
|
| |
|
|
| |
llvm-svn: 98048
|
| |
|
|
|
|
|
| |
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.
llvm-svn: 98047
|
| |
|
|
|
|
| |
failure remaining on mainline.
llvm-svn: 98046
|
| |
|
|
| |
llvm-svn: 98045
|
| |
|
|
| |
llvm-svn: 98044
|
| |
|
|
|
|
|
|
|
| |
coalescer) handle sub-register classes.
- Add heuristics to avoid non-profitable cse. Given the current lack of live
range splitting, avoid cse when an expression has PHI use and the would be
new use is in a BB where the expression wasn't already being used.
llvm-svn: 98043
|
| |
|
|
|
|
| |
large code models.
llvm-svn: 98042
|
| |
|
|
|
|
| |
bear with the awful code. It won't last in its current state beyond tonight.
llvm-svn: 98040
|
| |
|
|
|
|
| |
failures.
llvm-svn: 98039
|
| |
|
|
|
|
| |
multibyte opcodes and in the case of multiple scopes.
llvm-svn: 98036
|
| |
|
|
|
|
| |
beginScope and RecordSourceLine.
llvm-svn: 98035
|
| |
|
|
|
|
| |
now that the dependence on ID is removed from MMI.
llvm-svn: 98034
|
| |
|
|
|
|
| |
as LCSSA no longer transforms such uses.
llvm-svn: 98033
|
| |
|
|
|
|
| |
happens, the start/end of a scope can never be the same.
llvm-svn: 98032
|
| |
|
|
|
|
|
| |
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.
llvm-svn: 98031
|
| |
|
|
| |
llvm-svn: 98028
|
| |
|
|
|
|
| |
pad the address.
llvm-svn: 98027
|
| |
|
|
| |
llvm-svn: 98026
|
| |
|
|
| |
llvm-svn: 98025
|
| |
|
|
| |
llvm-svn: 98024
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
physreg becomes ridiculously high.
std::upper_bound may be log(N), but for sufficiently large live intervals, it
becomes log(N)*cachemiss = a long long time.
This patch improves coalescer time by 4500x for a function with 20000
function calls. The generated code is different, but not significantly worse -
the allocator hints are almost as good as physreg coalescing anyway.
llvm-svn: 98023
|
| |
|
|
|
|
|
|
|
| |
This patch updates LLVMDebugVersion to 8.
Debug info descriptors encoded using LLVMDebugVersion 7 is supported.
Corresponding llvmgcc and clang FE commits are required.
llvm-svn: 98020
|
| |
|
|
| |
llvm-svn: 98019
|
| |
|
|
| |
llvm-svn: 98018
|
| |
|
|
| |
llvm-svn: 98017
|
| |
|
|
|
|
| |
recomputation of the labels.
llvm-svn: 98016
|
| |
|
|
| |
llvm-svn: 98015
|
| |
|
|
|
|
|
| |
the one special case into EmitSectionOffset. MCize
the non-special case in EmitSectionOffset.
llvm-svn: 98014
|
| |
|
|
| |
llvm-svn: 98013
|
| |
|
|
|
|
| |
used for 'flavor'.
llvm-svn: 98012
|
| |
|
|
|
|
| |
we can eliminate "flavor".
llvm-svn: 98011
|
| |
|
|
|
|
| |
MCize it.
llvm-svn: 98010
|
| |
|
|
|
|
| |
cse implicit-def for obvious performance reason.
llvm-svn: 98009
|
| |
|
|
|
|
| |
to a real coalescer.
llvm-svn: 98007
|
| |
|
|
|
|
|
|
|
| |
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything. Make EmitSectionOffset call EmitDifference
instead of duplicating it.
llvm-svn: 98005
|
| |
|
|
| |
llvm-svn: 98004
|
| |
|
|
| |
llvm-svn: 98002
|
| |
|
|
|
|
|
|
| |
immediate instructions cannot set the condition codes, so they do not have
the extra cc_out operand. We hit an assertion during tail duplication
because the instruction being duplicated had more operands that expected.
llvm-svn: 98001
|
| |
|
|
| |
llvm-svn: 98000
|