| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 58339
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the ARM constant pool handling supercedes the standard LLVM constant
pool entirely, the JIT emitter does not allocate space for the constants,
nor initialize the memory. The constant pool is considered part of the
instruction stream.
Likewise, when resolving relocations into the constant pool, a hook into
the target back end is used to resolve from the constant ID# to the
address where the constant is stored.
For now, the support in the ARM emitter is limited to 32-bit integer. Future
patches will expand this to the full range of constants necessary.
llvm-svn: 58338
|
| |
|
|
|
|
|
|
|
| |
virtual void print(std::ostream &O, const Module *M) const;
instead of
virtual void print(llvm::OStream &O, const Module *M) const;
as the docs say
llvm-svn: 58337
|
| |
|
|
|
|
| |
messages and slow down compilation.
llvm-svn: 58336
|
| |
|
|
| |
llvm-svn: 58335
|
| |
|
|
| |
llvm-svn: 58332
|
| |
|
|
|
|
|
|
|
|
| |
ppcf128 to i32 conversion and expand it into a code
sequence like in LegalizeDAG. This needs custom
ppc lowering of FP_ROUND_INREG, so turn that on and
make it work with LegalizeTypes. Probably PPC should
simply custom lower the original conversion.
llvm-svn: 58329
|
| |
|
|
|
|
| |
moment, while waiting for a proper solution.
llvm-svn: 58324
|
| |
|
|
|
|
|
|
| |
id could end up being wrong mostly because of
forgetting to remap new nodes that morphed into
processed nodes through CSE.
llvm-svn: 58323
|
| |
|
|
| |
llvm-svn: 58320
|
| |
|
|
| |
llvm-svn: 58319
|
| |
|
|
| |
llvm-svn: 58318
|
| |
|
|
|
|
|
|
|
|
|
| |
a memset using 16-byte XMM stores, but where the stack realignment code
didn't work. Until it does (PR2962) disable use of xmm regs in memcpy
and memset formation for linux and other targets with insufficiently
aligned stacks.
This is part of PR2888
llvm-svn: 58317
|
| |
|
|
| |
llvm-svn: 58316
|
| |
|
|
| |
llvm-svn: 58315
|
| |
|
|
|
|
| |
before the barrier.
llvm-svn: 58314
|
| |
|
|
| |
llvm-svn: 58312
|
| |
|
|
| |
llvm-svn: 58310
|
| |
|
|
|
|
| |
live interval in the barrier mbb.
llvm-svn: 58309
|
| |
|
|
|
|
|
|
| |
- Add VERBOSE=1 flag.
- Specify the LLVM_SUBMIT_VERSION when doing the "make install".
The libLTO.dylib relies upon this flag during that time.
llvm-svn: 58298
|
| |
|
|
| |
llvm-svn: 58297
|
| |
|
|
| |
llvm-svn: 58296
|
| |
|
|
| |
llvm-svn: 58294
|
| |
|
|
|
|
| |
instead.
llvm-svn: 58290
|
| |
|
|
|
|
|
|
| |
flag. Then in a debugger developers can set breakpoints at these calls
to see waht is about to be selected and what the resulting subgraph
looks like. This really helps when debugging instruction selection.
llvm-svn: 58278
|
| |
|
|
| |
llvm-svn: 58268
|
| |
|
|
| |
llvm-svn: 58263
|
| |
|
|
| |
llvm-svn: 58260
|
| |
|
|
|
|
| |
will be used to support debug features in TableGen.
llvm-svn: 58257
|
| |
|
|
|
|
| |
use DenseMap in more contexts.
llvm-svn: 58256
|
| |
|
|
|
|
|
| |
can give it the same stack slot as the spilled interval if it is folded.
This prevents the fold/unfold code from pointing to the wrong register.
llvm-svn: 58255
|
| |
|
|
| |
llvm-svn: 58250
|
| |
|
|
|
|
|
|
|
| |
(and a bunch of other node types). While there, I
added a doNotCSE predicate and used it to reduce code
duplication (some of the duplicated code was wrong...).
This fixes ARM/cse-libcalls.ll when using LegalizeTypes.
llvm-svn: 58249
|
| |
|
|
|
|
|
|
|
|
|
|
| |
worklist twice: UpdateNodeOperands could morph
a new node into a node already on the worklist.
We would then recalculate the NodeId for this
existing node and add it to the worklist. The
testcase is ARM/cse-libcalls.ll, the problem
showing up once UpdateNodeOperands is taught to
do CSE for calls.
llvm-svn: 58246
|
| |
|
|
|
|
| |
If it is not part of a loop it is obviously invariant wrt to all loops.
llvm-svn: 58240
|
| |
|
|
| |
llvm-svn: 58239
|
| |
|
|
|
|
| |
that need it to require it by ID.
llvm-svn: 58238
|
| |
|
|
| |
llvm-svn: 58237
|
| |
|
|
|
|
|
| |
codegen infrastructure, by default. Please report
any breakage to the mailing lists.
llvm-svn: 58232
|
| |
|
|
| |
llvm-svn: 58231
|
| |
|
|
|
|
| |
FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them.
llvm-svn: 58230
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LargeBlockInfo, we can now dramatically simplify their implementation
and speed them up at the same time. Now the code has time proportional
to the number of uses of the alloca, not the size of the block.
This also eliminates code that tried to batch up different allocas which
are used in the same blocks, and eliminates the 'retry list' logic which
was baroque and no unneccesary. In addition to being a speedup for crazy
cases, this is also a nice cleanup:
PromoteMemoryToRegister.cpp | 270 +++++++++++++++-----------------------------
1 file changed, 96 insertions(+), 174 deletions(-)
llvm-svn: 58229
|
| |
|
|
| |
llvm-svn: 58228
|
| |
|
|
|
|
|
|
|
| |
a trivial dense map. Use this in RewriteSingleStoreAlloca to
avoid aggressively rescanning blocks over and over again. This
fixes PR2925, speeding up mem2reg on the testcase in that bug
from 4.56s to 0.02s in a debug build on my machine.
llvm-svn: 58227
|
| |
|
|
| |
llvm-svn: 58226
|
| |
|
|
|
|
| |
150, based on llvm-test measurements.
llvm-svn: 58225
|
| |
|
|
|
|
| |
Note that -check-exit-code was on by default while -append-exit-code is not.
llvm-svn: 58221
|
| |
|
|
|
|
| |
Thanks to Török Edwin for the awesome reduced testcase.
llvm-svn: 58199
|
| |
|
|
| |
llvm-svn: 58196
|
| |
|
|
|
|
| |
(AsmWriterOperand is used in a std::pair, and VS need to generate the default constructor of this pair).
llvm-svn: 58185
|