| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
It has been enabled by default for a while, it was only there to allow
performance comparisons.
llvm-svn: 139501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SplitKit always computes a complement live range to cover the places
where the original live range was live, but no explicit region has been
allocated.
Currently, the complement live range is created to be as small as
possible - it never overlaps any of the regions. This minimizes
register pressure, but if the complement is going to be spilled anyway,
that is not very important. The spiller will eliminate redundant
spills, and hoist others by making the spill slot live range overlap
some of the regions created by splitting. Stack slots are cheap.
This patch adds the interface to enable spill modes in SplitKit. In
spill mode, SplitKit will assume that the complement is going to spill,
so it will allow it to overlap regions in order to avoid back-copies.
By doing some of the spiller's work early, the complement live range
becomes simpler. In some cases, it can become much simpler because no
extra PHI-defs are required. This will speed up both splitting and
spilling.
This is only the interface to enable spill modes, no implementation yet.
llvm-svn: 139500
|
| |
|
|
| |
llvm-svn: 139499
|
| |
|
|
| |
llvm-svn: 139498
|
| |
|
|
|
|
|
| |
declaration may be the first declaration, we want the ability to that
declaration to be marked module-private.
llvm-svn: 139497
|
| |
|
|
|
|
|
| |
Only predefine the OBJC_ZEROCOST_EXCEPTIONS macro if Objective-C
exceptions are turned on. Fixes PR10910.
llvm-svn: 139496
|
| |
|
|
|
|
| |
This information is required if we want LDWCP to be hoisted out of loops.
llvm-svn: 139495
|
| |
|
|
| |
llvm-svn: 139494
|
| |
|
|
| |
llvm-svn: 139493
|
| |
|
|
|
|
|
| |
Fixes PR10898. The warning should be silent when there are parenthesis
around the condition expression.
llvm-svn: 139492
|
| |
|
|
| |
llvm-svn: 139491
|
| |
|
|
| |
llvm-svn: 139490
|
| |
|
|
|
|
|
| |
Added a new log category for DWARF called "aranges" to log the parsing
of address ranges.
llvm-svn: 139489
|
| |
|
|
|
|
|
|
|
| |
and avoid returning a pointer to the current object. In the new
"operator bool" implementation, check the filename object first
since many times we have FileSpec objects with a filename, yet no
directory.
llvm-svn: 139488
|
| |
|
|
|
|
|
| |
of how ConstString objects work, and removed the duplicate and out of date
comments that were in the cpp file.
llvm-svn: 139487
|
| |
|
|
|
|
| |
MOVUPS/MOVUPD/MOVAPS/MOVAPD/MOVSS/MOVSD and their VEX equivalents. Fixes PR10877.
llvm-svn: 139486
|
| |
|
|
|
|
| |
ADD/SUB/XOR/OR/AND/SBB/ADC/CMP/MOV.
llvm-svn: 139485
|
| |
|
|
|
|
| |
disassembling to ignore OpSize and REX.W.
llvm-svn: 139484
|
| |
|
|
| |
llvm-svn: 139481
|
| |
|
|
| |
llvm-svn: 139480
|
| |
|
|
|
|
|
| |
Undo the changes from r139285 which added custom lowering to vselect.
Add tablegen lowering for vselect.
llvm-svn: 139479
|
| |
|
|
|
|
| |
changes that were just submitted.
llvm-svn: 139478
|
| |
|
|
|
|
|
|
|
|
|
| |
more efficiently when it contains a large number of items. Since
the map is actually a vector of "const char *" and type T values,
it will double in size every time you append to it. The extra
added functions allow the collection to be sized to fit the data
after all entries have been appended, and lookups by name or by
regex have been built in to the class to allow efficient lookup.
llvm-svn: 139477
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
name is "lldb". So currently when you startup any application and you
have not specified that you would like to skip loading init files through
the API or from "lldb" options, then LLDB will try and load:
"~/.lldbinit-%s" where %s the basename of your program
"~/.lldbinit"
Then LLDB will load any program specified on the command line and then
source the "./.llbinit" file for any temporary debug session specific
commands.
I want this feature because I have thread and frame formats that do
ANSI color codes that I only want to load when running in a terminal
which is when I am running the "lldb" command line program.
llvm-svn: 139476
|
| |
|
|
|
|
| |
assert.
llvm-svn: 139474
|
| |
|
|
|
|
|
|
|
| |
test case having instancetype. Fix in rewriter is unrelated to
using of instancetype. Test case uses other feature not yet
supported in the rewriter. There is more work to do, but this
is an ongoing task and not urgent at this time.
llvm-svn: 139473
|
| |
|
|
| |
llvm-svn: 139472
|
| |
|
|
| |
llvm-svn: 139470
|
| |
|
|
|
|
|
|
|
| |
Use a more portable heuristic for deciding when to emit a single
atomic store; it's possible that I've lost information here, but
I'm not sure how much of the logic before was intentionally arch-specific
and how much was just not quite consistent.
llvm-svn: 139468
|
| |
|
|
|
|
| |
OptionParsingStarting() lifecycle point.
llvm-svn: 139467
|
| |
|
|
| |
llvm-svn: 139466
|
| |
|
|
|
|
| |
the boolean conversion diagnostic message.
llvm-svn: 139465
|
| |
|
|
| |
llvm-svn: 139464
|
| |
|
|
|
|
| |
warnings.
llvm-svn: 139463
|
| |
|
|
| |
llvm-svn: 139462
|
| |
|
|
| |
llvm-svn: 139461
|
| |
|
|
| |
llvm-svn: 139460
|
| |
|
|
| |
llvm-svn: 139459
|
| |
|
|
|
|
| |
anyway. Make that explicit, and un-XFAIL the testcase.
llvm-svn: 139458
|
| |
|
|
|
|
|
|
| |
a test failure in CodeGen/palignr.c, which has been marked
XFAIL for the time being. A bug has been filed at PR10901
for this issue.
llvm-svn: 139457
|
| |
|
|
|
|
|
|
|
|
|
|
| |
lib/ExecutionEngine/MCJIT/MCJIT.cpp from:
assert("error");
to:
assert(0 && "error");
llvm-svn: 139456
|
| |
|
|
| |
llvm-svn: 139455
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
assert("not implemented for target shuffle node");
to:
assert(0 && "not implemented for target shuffle node");
This causes a test failure in CodeGen/X86/palignr.ll which has
been marked as XFAIL for the time being.
Test failure filed at PR10901.
llvm-svn: 139454
|
| |
|
|
|
|
|
|
|
|
|
|
| |
better.
Don't immediately give up when an add operation can't be trivially
sign/zero-extended within a loop. If it has NSW/NUW flags, generate a
new expression with sign extended (non-recurrent) operand. As before,
if SCEV says that all sign extends are loop invariant, then we can
widen the operation.
llvm-svn: 139453
|
| |
|
|
|
|
| |
well.
llvm-svn: 139452
|
| |
|
|
|
|
|
|
|
|
|
| |
the lifetime of the block by copying it to the heap, or else we'll get
a dangling reference because the code working with the non-block-typed
object will not know it needs to copy.
There is some danger here, e.g. with assigning a block literal to an
unsafe variable, but, well, it's an unsafe variable.
llvm-svn: 139451
|
| |
|
|
|
|
|
|
|
|
| |
such.
I'm doing this now for completeness because I can't think of/remember
any reason that it was left out. I'm not sure it will help anything,
but if we don't do it we need to explain why in comments.
llvm-svn: 139450
|
| |
|
|
|
|
|
|
|
|
| |
assert("error");
to:
assert(0 && "error");
llvm-svn: 139449
|
| |
|
|
| |
llvm-svn: 139448
|
| |
|
|
| |
llvm-svn: 139447
|