| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
fixing"
See PR22799.
llvm-svn: 231348
|
| |
|
|
|
|
|
| |
already been added and the inconsistency made choosing names and
changing code more annoying. Plus, wow are they better for this code!
llvm-svn: 231347
|
| |
|
|
| |
llvm-svn: 231346
|
| |
|
|
|
|
| |
This hook is called from one of the hottest loops in LLD and does nothing.
llvm-svn: 231345
|
| |
|
|
|
|
|
|
| |
- GCC doesn't support #pragma mark, only Apple GCC and clang. Wrap the pragma mark's in #if 0 to make gcc ignore them but xcode still see them.
- Wrap a bunch of "#pragma clang" lines in #ifdef __clang__.
- Pacify gcc's -Wparenthesis in a case where it's quite reasonable.
llvm-svn: 231344
|
| |
|
|
| |
llvm-svn: 231343
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
operator in addition to the vendor-extension DW_OP_GNU_push_tls_address.
clang on PS4 and Darwin will be emitting the standard opcode
as of r231286 via http://reviews.llvm.org/D8018
Behavior of this standard opcode is the same as
DW_OP_GNU_push_tls_address.
<rdar://problem/20043195>
llvm-svn: 231342
|
| |
|
|
|
|
|
|
|
|
|
| |
result reasonable.
This code predated clang-format and so there was a reasonable amount of
crufty formatting that had accumulated. This should ensure that neither
myself nor others end up with formatting-only changes sneaking into
other fixes.
llvm-svn: 231341
|
| |
|
|
|
|
| |
gone, update this code to reflect that.
llvm-svn: 231340
|
| |
|
|
|
|
| |
Patch by Michael Edwards!
llvm-svn: 231339
|
| |
|
|
| |
llvm-svn: 231338
|
| |
|
|
|
|
| |
applicable
llvm-svn: 231337
|
| |
|
|
| |
llvm-svn: 231336
|
| |
|
|
|
|
|
|
| |
C++11) copy ctor"
It is miscompiled on msc18.
llvm-svn: 231335
|
| |
|
|
|
|
| |
C2280.
llvm-svn: 231334
|
| |
|
|
|
|
| |
instructions
llvm-svn: 231333
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
just arbitrarily interleaving unrelated control flows once they get
moved "out-of-line" (both outside of natural CFG ordering and with
diamonds that cannot be fully laid out by chaining fallthrough edges).
This easy solution doesn't work in practice, and it isn't just a small
bug. It looks like a very different strategy will be required. I'm
working on that now, and it'll again go behind some flag so that
everyone can experiment and make sure it is working well for them.
llvm-svn: 231332
|
| |
|
|
| |
llvm-svn: 231331
|
| |
|
|
| |
llvm-svn: 231330
|
| |
|
|
|
|
|
| |
DefinedAtom, which is the base class of ELFCommonAtom, has a
virtual destructor, so this is redundant.
llvm-svn: 231329
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Throwing a C++ exception, under the MS ABI, is implemented using three
components:
- ThrowInfo structure which contains information like CV qualifiers,
what destructor to call and a pointer to the CatchableTypeArray.
- In a significant departure from the Itanium ABI, copying by-value
occurs in the runtime and not at the catch site. This means we need
to enumerate all possible types that this exception could be caught as
and encode the necessary information to convert from the exception
object's type to the catch handler's type. This includes complicated
derived to base conversions and the execution of copy-constructors.
N.B. This implementation doesn't support the execution of a
copy-constructor from within the runtime for now. Adding support for
that functionality is quite difficult due to things like default
argument expressions which may evaluate arbitrary code hiding in the
copy-constructor's parameters.
Differential Revision: http://reviews.llvm.org/D8066
llvm-svn: 231328
|
| |
|
|
|
|
|
|
|
|
|
| |
The new Dependences struct in the DependenceInfo holds all information
that was formerly part of the DependenceInfo. It also provides the
same interface for the user to access this information.
This is another step to a more general ScopPass interface that does
allow multiple SCoPs to be "in flight".
llvm-svn: 231327
|
| |
|
|
| |
llvm-svn: 231326
|
| |
|
|
|
|
|
|
| |
It broke down at some point, and all tests with
REQUIRES: asan-(32|64)-bits
line stopped being executed. Restore the intended behavior.
llvm-svn: 231325
|
| |
|
|
|
|
|
| |
pass from the ARM backend as the pass itself will detect any use
of the appropriate register class.
llvm-svn: 231324
|
| |
|
|
|
|
|
| |
ARM TargetMachine pass pipeline construction by pushing them down
into the appropriate pass.
llvm-svn: 231323
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8067
llvm-svn: 231322
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I converted them to non-range-based loops in r226883 and r226893
because at that moment File::parse() may have side effects and
may update the vector that the reference returned from
LinkingContext::nodes().
Now File::parse() is free from side effects. We can use range-based
loops again.
llvm-svn: 231321
|
| |
|
|
| |
llvm-svn: 231320
|
| |
|
|
|
|
| |
module, instead of dumping a single combined bitset
llvm-svn: 231319
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Temporary XFAIL's until patches done.
Reviewers: echristo, adasgupt, colinl
Reviewed By: colinl
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D8044
llvm-svn: 231318
|
| |
|
|
|
|
|
| |
Mostly short-circuits some conditionals. Adds target validation of
sections passed to these pragmas.
llvm-svn: 231317
|
| |
|
|
| |
llvm-svn: 231316
|
| |
|
|
| |
llvm-svn: 231315
|
| |
|
|
| |
llvm-svn: 231314
|
| |
|
|
|
|
| |
required version, we can move that to the list of acceptable C++11 features.
llvm-svn: 231313
|
| |
|
|
|
|
| |
And start building a test for non-clang-cl link.exe invocations.
llvm-svn: 231312
|
| |
|
|
|
|
| |
part of the standard any more.
llvm-svn: 231311
|
| |
|
|
|
|
|
|
|
|
|
| |
We would like it if LLDB never crashed, especially if we never caused LLDB to crash
On the other hand, having assertions can sometimes be useful
lldbassert(x) is the best of both worlds:
- in debug builds, it turns into a regular assert, which is fine because we don't mind debug LLDB to crash on development machines
- in non-debug builds, it emits a message formatted just like assert(x) would, but then instead of crashing, it dumps a backtrace, suggests filing a bug, and keeps running
llvm-svn: 231310
|
| |
|
|
|
|
| |
Waiting for just 1 min may not be enough for some contexts.
llvm-svn: 231309
|
| |
|
|
|
|
|
|
|
|
| |
We rename the Dependences pass to DependenceInfo as a first step to a
caching pass policy. The new DependenceInfo pass will later provide
"Dependences" for a SCoP.
To keep consistency the test folder is renamed too.
llvm-svn: 231308
|
| |
|
|
|
|
|
|
| |
Improve test robustness in preparation of coming commits:
- Avoid undefs which may get propagated too much.
- Remove several pointless add 0, instructions
llvm-svn: 231307
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
rL225282 introduced an ad-hoc way to promote some additions to nuw or
nsw. Since then SCEV has become smarter in directly proving no-wrap;
and using the canonical "ext(A op B) == ext(A) op ext(B)" method of
proving no-wrap is just as powerful now. Rip out the existing
complexity in favor of getting SCEV to do all the heaving lifting
internally.
This change does not add any unit tests because it is supposed to be a
non-functional change. Tests added in rL225282 and rL226075 are valid
tests for this change.
Reviewers: atrick, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7981
llvm-svn: 231306
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Teach SCEV to prove no overflow for an add recurrence by proving
something about the range of another add recurrence a loop-invariant
distance away from it.
Reviewers: atrick, hfinkel
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7980
llvm-svn: 231305
|
| |
|
|
| |
llvm-svn: 231304
|
| |
|
|
| |
llvm-svn: 231303
|
| |
|
|
|
|
| |
Sorry about the breakage.
llvm-svn: 231302
|
| |
|
|
|
|
|
|
| |
The last use of layout-after edge for PE/COFF was removed in r231290.
Now layout-after edges do nothing. We can stop adding them to the graph.
No functionality change intended.
llvm-svn: 231301
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds code to emit DIE trees that have been pruned from the
parts that haven't been marked as kept in the previous pass.
It works by 'cloning' the input DIE tree (as read by libDebugInfoDwarf)
into a tree of DIE objects. Cloning the DIEs means essentially cloning
their attributes. The code in this commit does only handle scalar and
block attributes (scalar because they are trivial, blocks because they
can't be easily replaced by a scalr placeholder), all the other ones
are replaced by placeholder zero values and will be handled in
further commits.
The added tests mostly check that the DIE tree has the correct layout and
also verify that a few chosen scalar and block attributes correctly make
their way into the output.
llvm-svn: 231300
|
| |
|
|
|
|
|
| |
The implementation accepts explicitely signed forms (DW_FORM_sdata),
but also unsigned forms as long as they fit in an int64_t.
llvm-svn: 231299
|