| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 255282
|
| |
|
|
|
|
|
|
|
|
| |
nested) for all the platforms except PS4.
For PS4, generate explicit import for anonymous namespaces and mark it by DW_AT_artificial attribute.
Differential Revision: http://reviews.llvm.org/D12624
llvm-svn: 255281
|
| |
|
|
| |
llvm-svn: 255280
|
| |
|
|
| |
llvm-svn: 255279
|
| |
|
|
| |
llvm-svn: 255278
|
| |
|
|
| |
llvm-svn: 255277
|
| |
|
|
| |
llvm-svn: 255276
|
| |
|
|
| |
llvm-svn: 255275
|
| |
|
|
|
|
|
|
|
|
| |
The delta64 relocation is represented as the pair ARM64_RELOC_SUBTRACTOR and ARM64_RELOC_UNSIGNED.
Those should always have the same offset, so this adds a check and tests to ensure this is the case.
Also updated the error printing in this case to shows both relocs when erroring on pair.
llvm-svn: 255274
|
| |
|
|
|
|
|
| |
These attributes were previously unexposed. Expose them through the libclang
interfaces. Add tests that cover both the MSVC spelling and the GNU spelling.
llvm-svn: 255273
|
| |
|
|
| |
llvm-svn: 255272
|
| |
|
|
|
|
| |
Using %t rather %T/<specific_name> as the temporary profdata filename.
llvm-svn: 255271
|
| |
|
|
|
|
|
|
|
| |
InstrProfiling.h file declares profile runtime public APIs.
It has become a dumping place for many different things, which
needs cleanups. In this change, core type declarations and
portability macros are moved to a new file InstrProfilingPort.h.
llvm-svn: 255270
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid O(N^2) behaviour when checking for bad bitcasts in `ConstantExpr`s
buried inside of aggregate initializers to `GlobalVariable`s. I've:
- centralized the "visited" set for recursing through `ConstantExpr`s so
that expressions are only visited once per Verifier run,
- removed the duplicate logic for the stack visit, and
- avoided recursing into other `GlobalValue`s.
This recovers roughly a 100x time difference in clang compiles of a
particular input file (filled with large cross-referencing tables) that
depends on whether `-disable-llvm-verifier` is on. This slowdown was
caused by r187506, which introduced these checks.
Now, avoiding `-disable-llvm-verifier` only causes a 2x slowdown for
this case.
(Interestingly, dumping the textual IR for this file starts at least
50GB of global variable initializers (I don't know the total, since I
killed the dump)...)
llvm-svn: 255269
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: When the Hexagon ABI was added, it was inadvertently left out of initialization/termination. This patch adds it.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D15347
llvm-svn: 255268
|
| |
|
|
|
|
|
|
|
| |
This makes non-C++ languages find the same decl as C++ does to
workaround a regression introduced in r252960.
rdar://problem/23784203
llvm-svn: 255267
|
| |
|
|
| |
llvm-svn: 255266
|
| |
|
|
| |
llvm-svn: 255265
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Adds support for in-memory round-trip of sample profile data along with basic
round trip unit tests. This will also make it easier to include unit tests for
future changes to sample profiling.
Reviewers: davidxl, dnovillo, silvas
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15211
llvm-svn: 255264
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Convert f16 vectors to corresponding f32 vectors before doing the
conversion to int.
Add tests for v4f16, v8f16.
Reviewers: ab, jmolloy
Subscribers: llvm-commits, srhines
Differential Revision: http://reviews.llvm.org/D14936
llvm-svn: 255263
|
| |
|
|
|
|
|
| |
Several test cases that used to fail on both power LE and BE
now run correctly on LE.
llvm-svn: 255262
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a redo of r255137 (reverted at r255227) which was a redo of
r255124 (reverted at r255126) with a fixed check for a scalar source
type and an added test for the failure that caused the revert.
Original commit message:
Example:
bitcast (extractelement (bitcast <2 x float> %X to <2 x i32>), 1) to float
--->
extractelement <2 x float> %X, i32 1
This is part of fixing PR25543:
https://llvm.org/bugs/show_bug.cgi?id=25543
The next step will be to generalize this fold:
trunc ( lshr ( bitcast X) ) -> extractelement (X)
Ie, I'm hoping to replace the existing transform of:
bitcast ( trunc ( lshr ( bitcast X)))
added by:
http://reviews.llvm.org/rL112232
with 2 less specific transforms to catch the case in the bug report.
Differential Revision: http://reviews.llvm.org/D14879
llvm-svn: 255261
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Adding the modules to the global module list eleminate issues in the
case when a module is unloaded from the target but some object (e.g.
breakpoint) still referencing them with weak pointers. It also speeds
up the case when we load, unload, load the same shared library because
the global module cache will keep the parsed debug info around between
the 2 load (this scenario happens for some code on android).
Differential revision: http://reviews.llvm.org/D15415
llvm-svn: 255260
|
| |
|
|
|
|
|
|
| |
Added some missing spaces between the module identifier and the start of
the debug message. Also added a ":" after the module identifier to make
this look a little nicer.
llvm-svn: 255259
|
| |
|
|
|
|
| |
Found by ubsan.
llvm-svn: 255258
|
| |
|
|
| |
llvm-svn: 255257
|
| |
|
|
|
|
|
| |
Ensure we release the files even when they don't hold a function index
summary section, by restructuring the control flow a little bit.
llvm-svn: 255256
|
| |
|
|
| |
llvm-svn: 255255
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A linker normally has two stages: symbol resolution and "moving stuff".
In lib/Linker there is the complication of lazy linking some globals,
but it was still far more mixed than it needed to.
This splits the linker into a lower level IRMover and the linker proper.
The IRMover just takes a list of globals to move and a callback that
lets the user control what is lazy linked.
The main motivation is that now tools/gold (and soon lld) can use their
own symbol resolution to instruct IRMover what to do.
llvm-svn: 255254
|
| |
|
|
|
|
| |
change.
llvm-svn: 255253
|
| |
|
|
|
|
| |
changes.
llvm-svn: 255252
|
| |
|
|
| |
llvm-svn: 255251
|
| |
|
|
| |
llvm-svn: 255250
|
| |
|
|
| |
llvm-svn: 255249
|
| |
|
|
|
|
| |
coding guidelines.
llvm-svn: 255248
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We extend the search for redundant stores to predecessor blocks that
unconditionally lead to the block BB with the current store instruction. That
also includes single-block loops that unconditionally lead to BB, and
if-then-else blocks where then- and else-blocks unconditionally lead to BB.
http://reviews.llvm.org/D13363
Patch by Ivan Baev <ibaev@codeaurora.org>!
llvm-svn: 255247
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch corresponds to review:
http://reviews.llvm.org/D15286
LLVM IR frequently contains bitcast operations between floating point and
integer values of the same width. Doing this through memory operations is
quite expensive on PPC. This patch allows the use of direct register moves
between FPRs and GPRs for lowering bitcasts.
llvm-svn: 255246
|
| |
|
|
|
|
|
|
| |
Introduced DIMacro and DIMacroFile debug info metadata in the LLVM IR to support macros.
Differential Revision: http://reviews.llvm.org/D14687
llvm-svn: 255245
|
| |
|
|
| |
llvm-svn: 255244
|
| |
|
|
|
|
|
|
|
| |
The motivation is:
1. consistency with clang-format, vim :sort etc.
2. we don't want the tools to depend on the current locale to do the include
sorting
llvm-svn: 255243
|
| |
|
|
|
|
|
|
|
| |
Some targets (e.g. Mips) don't have 64-bit atomics, so using atomic_uint64_t
leads to build failures. Use atomic_uintptr_t to avoid such errors.
Patch by Max Ostapenko.
llvm-svn: 255242
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
LAA uses the PredicatedScalarEvolution interface, so it can produce
forward/backward dependences having SCEVs that are AddRecExprs only after being
transformed by PredicatedScalarEvolution.
Use PredicatedScalarEvolution to get the expected expressions.
Reviewers: anemet
Subscribers: llvm-commits, sanjoy
Differential Revision: http://reviews.llvm.org/D15382
llvm-svn: 255241
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These architectures already using the gold linker for the android
framework and switching to gold gives us the opportunity to enable ICF.
Safe ICF (identical code folding) reduces the size of an optimized and
striped binary by ~5%.
Differential revision: http://reviews.llvm.org/D15379
llvm-svn: 255240
|
| |
|
|
|
|
|
| |
Patch creates a member function that decides when to JIT all the details about an allocation.
By checking for zero pointers we can avoid the situation where we store uninitialised data from previously inspecting the allocation during creation.
llvm-svn: 255238
|
| |
|
|
| |
llvm-svn: 255237
|
| |
|
|
|
|
|
|
|
|
|
|
| |
SymbolReaper was destroying the symbol too early when it was referenced only
from an index SVal of a live ElementRegion.
In order to test certain aspects of this patch, extend the debug.ExprInspection
checker to allow testing SymbolReaper in a direct manner.
Differential Revision: http://reviews.llvm.org/D12726
llvm-svn: 255236
|
| |
|
|
|
|
|
|
| |
List all sections removed by garbage collection. This option is only effective if garbage collection has been enabled via the `--gc-sections' option.
Differential revision: http://reviews.llvm.org/D15327
llvm-svn: 255235
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SystemZ needs to do its scheduling after branch relaxation, which can
only happen after block placement, and therefore the standard
PostRAScheduler point in the pass sequence is too early.
TargetMachine::targetSchedulesPostRAScheduling() is a new method that
signals on returning true that target will insert the final scheduling
pass on its own.
Reviewed by Hal Finkel
llvm-svn: 255234
|
| |
|
|
|
|
|
|
|
| |
If R_386_PLT32 relocation is applied against symbol that can not be preempted then it can be resolved statically.
Patch implements it for x86 target.
Differential revision: http://reviews.llvm.org/D15376
llvm-svn: 255233
|
| |
|
|
|
|
| |
instead of just unsigned. Removes a few explicit casts. NFC
llvm-svn: 255232
|