mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
d654e7d40c
Enable enableMultipleCopyHints() on X86. Original Patch by @jonpa: While enabling the mischeduler for SystemZ, it was discovered that for some reason a test needed one extra seemingly needless COPY (test/CodeGen/SystemZ/call-03.ll). The handling for that is resulted in this patch, which improves the register coalescing by providing not just one copy hint, but a sorted list of copy hints. On SystemZ, this gives ~12500 less register moves on SPEC, as well as marginally less spilling. Instead of improving just the SystemZ backend, the improvement has been implemented in common-code (calculateSpillWeightAndHint(). This gives a lot of test failures, but since this should be a general improvement I hope that the involved targets will help and review the test updates. Differential Revision: https://reviews.llvm.org/D38128 llvm-svn: 342578 |
||
---|---|---|
.. | ||
anonymous-struct.ll | ||
array-odr-violation.ll | ||
asan-module-ctor.ll | ||
asan-module-without-functions.ll | ||
asm.ll | ||
big-type.ll | ||
bitfields.ll | ||
comdat.ll | ||
const-unnamed-member.ll | ||
cpp-mangling.ll | ||
defer-complete-type.ll | ||
dlang.ll | ||
enum.ll | ||
fp-stack.ll | ||
fpo-argsize.ll | ||
fpo-csrs.ll | ||
fpo-funclet.ll | ||
fpo-realign-alloca.ll | ||
fpo-shrink-wrap.ll | ||
fpo-stack-protect.ll | ||
global-dllimport.ll | ||
global-type-hashes.ll | ||
globals-discarded.ll | ||
globals.ll | ||
inheritance.ll | ||
inlining-files.ll | ||
inlining-header.ll | ||
inlining-levels.ll | ||
inlining-padding.ll | ||
inlining-same-name.ll | ||
inlining.ll | ||
int8-char-type.ll | ||
lambda.ll | ||
lexicalblock.ll | ||
lines-bb-start.ll | ||
lines-difile.ll | ||
lit.local.cfg | ||
local-constant.ll | ||
local-variable-gap.ll | ||
local-variables.ll | ||
long-name.ll | ||
long-type-name.ll | ||
multifile.ll | ||
multifunction.ll | ||
nested-types.ll | ||
no-cus.ll | ||
parameter-order.ll | ||
pieces.ll | ||
pr28747.ll | ||
pr37492.ll | ||
purge-typedef-udts.ll | ||
register-variables.ll | ||
retained-types.ll | ||
scopes.ll | ||
simple.ll | ||
static-methods.ll | ||
synthetic.ll | ||
tail-call-without-lexical-scopes.ll | ||
thunk.ll | ||
type-quals.ll | ||
typedef.ll | ||
types-array-advanced.ll | ||
types-array-unsized.ll | ||
types-array.ll | ||
types-basic.ll | ||
types-calling-conv.ll | ||
types-cvarargs.ll | ||
types-data-members.ll | ||
types-nested-class.ll | ||
types-non-virtual-methods.ll | ||
types-ptr-to-member.ll | ||
types-recursive-struct.ll | ||
types-recursive-unnamed.ll | ||
udts.ll | ||
unnamed.ll | ||
vftables.ll | ||
virtual-method-kinds.ll | ||
virtual-methods.ll | ||
vtable-optzn-array.ll |