| 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
|
| |
|
|
| |
llvm-svn: 58224
|
| |
|
|
|
|
|
|
| |
not the
darwin or AIX abis. This fixes PR2904.
llvm-svn: 58222
|
| |
|
|
|
|
| |
Note that -check-exit-code was on by default while -append-exit-code is not.
llvm-svn: 58221
|
| |
|
|
|
|
|
|
| |
t.c:1:13: error: cannot codegen this designators yet
int a[10] = {2, 4, [8]=9, 10};
^~~~~~~~~~~~~~~~~
llvm-svn: 58220
|
| |
|
|
| |
llvm-svn: 58218
|
| |
|
|
|
|
| |
support as far as I know.
llvm-svn: 58217
|
| |
|
|
|
|
| |
objc mode.
llvm-svn: 58216
|
| |
|
|
|
|
|
|
|
|
|
| |
struct foo Y[10] = {
[4] .arr [2] 4 // expected-error {{expected '=' or another designator}}
};
because the "missing equals" extension only is valid if there
is exactly one array designator.
llvm-svn: 58215
|
| |
|
|
|
|
| |
fix an obscure memory leak.
llvm-svn: 58213
|
| |
|
|
|
|
| |
improve diagnostic for a malformed field designator.
llvm-svn: 58212
|
| |
|
|
|
|
| |
easier to understand and hack on, no functionality change.
llvm-svn: 58210
|
| |
|
|
|
|
| |
about whether a leading identifier is a designator.
llvm-svn: 58207
|
| |
|
|
|
|
|
| |
initializer, avoiding an extra level of calls for silly things like
'int x = 4'.
llvm-svn: 58206
|
| |
|
|
|
|
|
|
|
|
|
| |
1. It introduces new parser level abstractions for designators
that are used to communicate between parser and sema.
2. This fixes a FIXME where "identifier ':'" was considered to be
a designator even if it wasn't the first in a designator list.
3. In the "identifier ':'" case, it actually builds the designator
representation.
llvm-svn: 58205
|
| |
|
|
| |
llvm-svn: 58203
|
| |
|
|
|
|
| |
Thanks to Török Edwin for the awesome reduced testcase.
llvm-svn: 58199
|
| |
|
|
| |
llvm-svn: 58198
|
| |
|
|
| |
llvm-svn: 58196
|
| |
|
|
|
|
|
|
|
| |
TypeQuals parameter, it causes subtle bugs where TypeQuals, while necessary, are omitted from the call.
-Remove the default argument.
-Update all call sites of ASTContext::getFunctionType.
llvm-svn: 58187
|
| |
|
|
|
|
| |
(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 Store.
llvm-svn: 58182
|
| |
|
|
|
|
| |
to get the first element region. It is not necessary to care about the kind of the base array region.
llvm-svn: 58181
|
| |
|
|
|
|
| |
must be under the `tools' subdirectory of the LLVM *source* tree.
llvm-svn: 58180
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
being interpretted as a format string specifier.
llvm-svn: 58150
|
| |
|
|
|
|
| |
This fixes PR 2948.
llvm-svn: 58148
|
| |
|
|
|
|
| |
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: 58140
|
| |
|
|
| |
llvm-svn: 58139
|
| |
|
|
|
|
|
| |
for StringLiteral lvalue evaluation, instead of directly returning a
loc::StringLiteralVal by the Environment.
llvm-svn: 58138
|