| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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
|
| |
|
|
|
|
| |
successor blocks. The mbb can be revisited again after all of the successors are processed.
llvm-svn: 58184
|
| |
|
|
| |
llvm-svn: 58183
|
| |
|
|
|
|
| |
the build.
llvm-svn: 58179
|
| |
|
|
|
|
| |
counterpart of USED_LIBS.
llvm-svn: 58178
|
| |
|
|
|
|
| |
config.h
llvm-svn: 58177
|
| |
|
|
|
|
| |
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.
llvm-svn: 58176
|
| |
|
|
|
|
| |
Patch by Frits van Bommel!
llvm-svn: 58175
|
| |
|
|
| |
llvm-svn: 58174
|
| |
|
|
| |
llvm-svn: 58164
|
| |
|
|
|
|
| |
actually correspond to what their names suggest.
llvm-svn: 58146
|
| |
|
|
|
|
| |
to reflect that.
llvm-svn: 58145
|
| |
|
|
|
|
|
|
|
|
|
|
| |
target-independent code to target-specific code. This prevents it
from running on targets that aren't using fast-isel.
In addition to saving compile time, this addresses the problem
that not all targets are prepared for it. In order to use this
pass, all instructions must declare all their fixed uses and
defs of physical registers.
llvm-svn: 58144
|
| |
|
|
| |
llvm-svn: 58143
|
| |
|
|
|
|
|
|
| |
variable is moved to the execution engine. The JIT calls the TargetJITInfo
to allocate thread local storage. Currently, only linux/x86 knows how to
allocate thread local global variables.
llvm-svn: 58142
|
| |
|
|
| |
llvm-svn: 58141
|
| |
|
|
| |
llvm-svn: 58139
|
| |
|
|
| |
llvm-svn: 58134
|
| |
|
|
| |
llvm-svn: 58133
|
| |
|
|
| |
llvm-svn: 58132
|
| |
|
|
| |
llvm-svn: 58131
|
| |
|
|
|
|
| |
llvmAsmParser.h.
llvm-svn: 58130
|
| |
|
|
|
|
| |
split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot.
llvm-svn: 58129
|
| |
|
|
|
|
|
| |
Prevents some more overzealous deletions (mostly
in AltiVec code).
llvm-svn: 58121
|
| |
|
|
|
|
|
|
| |
be saved/restored in the prolog/epilog. We need
to do this iff something in the function stores
into it.
llvm-svn: 58116
|
| |
|
|
| |
llvm-svn: 58113
|
| |
|
|
| |
llvm-svn: 58104
|
| |
|
|
| |
llvm-svn: 58103
|
| |
|
|
| |
llvm-svn: 58102
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
LHS is a foldable load, then LHS and RHS are swapped
and SetCCOpcode is changed to SETUGT. But the later
code is expecting operands to be the wrong way round
for SETUGT, but they are not in this case, resulting
in an inverted compare. The solution is to move the
load normalization before the correction for SETUGT.
This bug was tickled by LegalizeTypes which happened
to legalize the testcase slightly differently to
LegalizeDAG.
llvm-svn: 58092
|
| |
|
|
|
|
| |
the pregenerated file in from the svn (.cvs). Work only for windows for the moment. Tested on Vista64 with MSVC2008express.
llvm-svn: 58090
|
| |
|
|
| |
llvm-svn: 58089
|
| |
|
|
| |
llvm-svn: 58075
|
| |
|
|
| |
llvm-svn: 58072
|
| |
|
|
|
|
| |
Understand that mul %x, 1 = %x.
llvm-svn: 58069
|
| |
|
|
|
|
| |
re-materializable val# (for now).
llvm-svn: 58068
|
| |
|
|
|
|
|
| |
fixes a bunch of test-suite JIT failures on x86-64 in
-relocation-model=static mode.
llvm-svn: 58066
|
| |
|
|
| |
llvm-svn: 58060
|
| |
|
|
| |
llvm-svn: 58057
|
| |
|
|
| |
llvm-svn: 58052
|