| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The previously used "names" are rather descriptions (they use multiple
words and contain spaces), use short programming language identifier
like strings for the "names" which should be used when exporting to
machine parseable formats.
Also removed a unused TimerGroup from Hexxagon.
Differential Revision: https://reviews.llvm.org/D25583
llvm-svn: 287369
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixes PR28751.
Reviewers: MatzeB, qcolombet
Subscribers: mcrosier, llvm-commits
Differential Revision: https://reviews.llvm.org/D26775
llvm-svn: 287368
|
| |
|
|
|
|
|
|
| |
This concludes the changes I originally tried to make and then
had to back out. This way if anything is still broken, it
should be easier to bisect it back to a more specific changeset.
llvm-svn: 287367
|
| |
|
|
|
|
| |
This is a silly bug that I'm sure I caused...
llvm-svn: 287366
|
| |
|
|
|
|
|
| |
It seems a lot simpler to just sort the sections and let the
relocations do the rest.
llvm-svn: 287365
|
| |
|
|
|
|
|
|
| |
Sink the Db initialization into the structure rather than out-of-line at the
declaration size. This just makes it easier to see what initialization is being
performed. NFC.
llvm-svn: 287364
|
| |
|
|
| |
llvm-svn: 287362
|
| |
|
|
| |
llvm-svn: 287360
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the C unwinding personality was corrected to match the ARM EHABI
specification, the unwind header in clang was updated with necessary
declarations. However, when building with an older compiler, we would not have
the necessary declarations. This would result in a build failure. Provide a
supplementary header to ensure that the necessary declarations are present for
the build of the C unwinding personality.
Note that this is NOT an ABI break. It merely is a compile time failure due to
the constants not being present. The constants here are reproduced
equivalently. This header should permit building with clang[<3.9] as well as
gcc.
Addresses PR31035!
llvm-svn: 287359
|
| |
|
|
|
|
|
|
| |
I guess this would have to be added for each linker.
Differential Revision: https://reviews.llvm.org/D26833
llvm-svn: 287358
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D26807
llvm-svn: 287357
|
| |
|
|
|
|
|
|
|
|
| |
It is used to drive this from the clang driver via -mllvm.
Same option name is used as in opt.
Differential Revision: https://reviews.llvm.org/D26832
llvm-svn: 287356
|
| |
|
|
|
|
|
|
| |
modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC).
Per Zachary Turner and Mehdi Amini suggestion to make only post-commit reviews.
llvm-svn: 287355
|
| |
|
|
|
|
|
|
|
|
|
| |
The scanning algorithm had a few little subtleties that I
overlooked, but this patch should fix everything.
I still haven't changed the function to take a StringRef since
that has some trickle down effect and is mostly mechanical,
I just wanted to get the tricky part as isolated as possible.
llvm-svn: 287354
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
During Module linking, it's possible for SrcM->getIdentifiedStructTypes();
to return types that are actually defined in the destination module
(DstM). Depending on how the bitcode file was read,
getIdentifiedStructTypes() might do a walk over all values, including
metadata nodes, looking for types. In my case, a debug info metadata
node was shared between the two modules, and it referred to a type
defined in the destination module (see test case).
Differential Revision: https://reviews.llvm.org/D26212
llvm-svn: 287353
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
LLVM will define a symbol, either EnableABIBreakingChecks or
DisableABIBreakingChecks depending on the configuration setting for
LLVM_ABI_BREAKING_CHECKS.
The llvm-config.h header will add weak references to these symbols in
every clients that includes this header. This should ensure that
a mismatch triggers a link failure (or a load time failure for DSO).
On MSVC, the pragma "detect_mismatch" is used instead.
Reviewers: rnk, jroelofs
Subscribers: llvm-commits, mgorny
Differential Revision: https://reviews.llvm.org/D26841
llvm-svn: 287352
|
| |
|
|
|
|
| |
NFC. Forgot to fix this in the original commit.
llvm-svn: 287350
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MIPS MSA ASE provides instructions to convert to and from half precision
floating point. This patch teaches the MIPS backend to treat f16 as a legal
type and how to promote such values to f32 for the usual set of operations.
As a result of this, the fexup[lr].w intrinsics no longer crash LLVM during
type legalization.
Reviewers: zoran.jovanvoic, vkalintiris
Differential Revision: https://reviews.llvm.org/D26398
llvm-svn: 287349
|
| |
|
|
|
|
| |
opportunities without AVX512VL
llvm-svn: 287348
|
| |
|
|
|
| |
Suggested-by: Tobias Grosser <tobias@grosser.es>
llvm-svn: 287347
|
| |
|
|
|
|
| |
Differential revision: https://reviews.llvm.org/D26842
llvm-svn: 287346
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: t.p.northover, ab, qcolombet
Subscribers: mehdi_amini, vkalintiris, wdng, dberris, llvm-commits, rovka
Differential Revision: https://reviews.llvm.org/D26765
llvm-svn: 287344
|
| |
|
|
|
|
|
| |
This allows Sema to diagnose passing a read_only pipe to a
write_only pipe argument.
llvm-svn: 287343
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The 32-bit instructions don't zero the high 16-bits like the 16-bit
instructions do.
Reviewers: arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, llvm-commits, tony-tye
Differential Revision: https://reviews.llvm.org/D26828
llvm-svn: 287342
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
insertUniqueBackedgeBlock in lib/Transforms/Utils/LoopSimplify.cpp now
propagates existing llvm.loop metadata to newly the added backedge.
llvm::TryToSimplifyUncondBranchFromEmptyBlock in lib/Transforms/Utils/Local.cpp
now propagates existing llvm.loop metadata to the branch instructions in the
predecessor blocks of the empty block that is removed.
Differential Revision: https://reviews.llvm.org/D26495
llvm-svn: 287341
|
| |
|
|
| |
llvm-svn: 287340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The addr64-based legalization is incorrect for MUBUF instructions with idxen
set as well as for BUFFER_LOAD/STORE_FORMAT_* instructions. This affects
e.g. shaders that access buffer textures.
Since we never actually need the addr64-legalization in shaders, this patch
takes the easy route and keys off the calling convention. If this ever
affects (non-OpenGL) compute, the type of legalization needs to be chosen
based on some TSFlag.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98664
Reviewers: arsenm, tstellarAMD
Subscribers: kzhuravl, wdng, yaxunl, tony-tye, llvm-commits
Differential Revision: https://reviews.llvm.org/D26747
llvm-svn: 287339
|
| |
|
|
|
|
| |
Identified by Pedro Giffuni in PR27636.
llvm-svn: 287338
|
| |
|
|
| |
llvm-svn: 287337
|
| |
|
|
| |
llvm-svn: 287336
|
| |
|
|
| |
llvm-svn: 287335
|
| |
|
|
|
|
|
| |
Exploit new instructions by adding patterns to .td file.
https://reviews.llvm.org/D26551
llvm-svn: 287334
|
| |
|
|
|
|
| |
Identified by Pedro Giffuni in PR27636.
llvm-svn: 287333
|
| |
|
|
| |
llvm-svn: 287332
|
| |
|
|
|
|
| |
Identified by Pedro Giffuni in PR27636.
llvm-svn: 287331
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: ioeric
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26844
llvm-svn: 287330
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we see a SETCC whose only users are zero extend operations, we can replace
it with a subtraction. This results in doing all calculations in GPRs and
avoids CR use.
Currently we do this only for ULT, ULE, UGT and UGE condition codes. There are
ways that this can be extended. For example for signed condition codes. In that
case we will be introducing additional sign extend instructions, so more careful
profitability analysis may be required.
Another direction to extend this is for equal, not equal conditions. Also when
users of SETCC are any_ext or sign_ext, we might be able to do something
similar.
llvm-svn: 287329
|
| |
|
|
|
|
| |
https://reviews.llvm.org/D26339
llvm-svn: 287328
|
| |
|
|
|
|
|
|
|
|
| |
In order to easily merge libc++ and libc++abi static archives it's important
that none of the source files share the same name.
(See http://stackoverflow.com/questions/3821916/how-to-merge-two-ar-static-libraries-into-one)
This patch renames source files which share a name with libc++ sources.
llvm-svn: 287327
|
| |
|
|
|
|
| |
Differential revision: https://reviews.llvm.org/D26834
llvm-svn: 287326
|
| |
|
|
| |
llvm-svn: 287325
|
| |
|
|
| |
llvm-svn: 287324
|
| |
|
|
| |
llvm-svn: 287323
|
| |
|
|
|
|
| |
Differential revision: https://reviews.llvm.org/D26792
llvm-svn: 287322
|
| |
|
|
|
|
|
|
| |
libc++ no longer supports C++11 compilers that don't implement `= default`.
This patch removes all instances of the feature test macro
_LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS as well as the potentially dead code it hides.
llvm-svn: 287321
|
| |
|
|
|
|
|
| |
This reverts commit r287315, as it introduces a bug that breaks
many things.
llvm-svn: 287320
|
| |
|
|
|
|
|
|
|
|
|
| |
readVersionDeclaration was to read anonymous version definition and
named version definition. Splitting it into two functions should
improve readability as the two cases are different enough.
I also changed a few helper functions to return values instead of
mutating given references.
llvm-svn: 287319
|
| |
|
|
| |
llvm-svn: 287318
|
| |
|
|
|
|
|
|
|
| |
The doxygen comments are automatically generated based on Sony's intrinsics document.
I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream. This patch was internally reviewed by Charles Li.
llvm-svn: 287317
|
| |
|
|
|
|
|
|
| |
for variable shift with 16-bit elements.
This is a straightforward extension of the existing support for 32/64-bit element types. Just needed to add the additional instrinsics to the switches.
llvm-svn: 287316
|