| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This complements the earlier addition of IntrWriteMem and IntrWriteArgMem
LLVM intrinsic properties, see D18291.
Also start using the attribute for memset, memcpy, and memmove intrinsics,
and remove their special-casing in BasicAliasAnalysis.
Reviewers: reames, joker.eph
Subscribers: joker.eph, llvm-commits
Differential Revision: http://reviews.llvm.org/D18714
llvm-svn: 274485
|
| |
|
|
|
|
| |
extension of the result of a v2i1 or v4i1 masked compare. This way we emit something that the backend easily interprets as a concatenation rather than a true shuffle. This delivers slightly better codegen with the current backend capabilities.
llvm-svn: 274484
|
| |
|
|
|
|
|
|
|
|
| |
concatenation of the inputs more general purpose.
We can now handle concatenation of each source multiple times. The previous code just checked for each source to appear once in either order.
This also now handles an entire source vector sized piece having undef indices correctly. We now concat with UNDEF instead of using one of the sources. This is responsible for the test case change.
llvm-svn: 274483
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If update_master_only is set the place list is not completely traversed
and therefore this assertion failed. Make it only trigger if
update_master_only is false.
(was introduced by D20539)
Differential Revision: http://reviews.llvm.org/D21925
llvm-svn: 274482
|
| |
|
|
| |
llvm-svn: 274481
|
| |
|
|
| |
llvm-svn: 274480
|
| |
|
|
| |
llvm-svn: 274479
|
| |
|
|
| |
llvm-svn: 274478
|
| |
|
|
|
|
|
|
|
| |
We didn't correctly detect situations where a flexible array member was
the only named member in a record.
This fixes PR28407.
llvm-svn: 274477
|
| |
|
|
| |
llvm-svn: 274476
|
| |
|
|
|
|
|
|
| |
ArrayRef is a little better than passing around a pointer/length pair.
No functional change is intended.
llvm-svn: 274475
|
| |
|
|
|
|
| |
condition. NFCI.
llvm-svn: 274474
|
| |
|
|
| |
llvm-svn: 274473
|
| |
|
|
|
|
|
|
| |
handle undef indices.
Undef indices can now be treated as zeros. Or if its undef ORed with zero, we will keep the undef.
llvm-svn: 274472
|
| |
|
|
|
|
| |
vectors doesn't handle undefs as well as it could. Fix coming in another commit.
llvm-svn: 274471
|
| |
|
|
|
|
|
|
|
|
| |
After the block placement, if a block ends with a conditional branch, but the
next block is not its successor. The conditional branch should be changed to
unconditional branch. This patch fixes PR28307, PR28297, PR28402.
Differential Revision: http://reviews.llvm.org/D21811
llvm-svn: 274470
|
| |
|
|
| |
llvm-svn: 274469
|
| |
|
|
| |
llvm-svn: 274468
|
| |
|
|
| |
llvm-svn: 274467
|
| |
|
|
|
|
| |
comments
llvm-svn: 274466
|
| |
|
|
| |
llvm-svn: 274465
|
| |
|
|
| |
llvm-svn: 274464
|
| |
|
|
| |
llvm-svn: 274463
|
| |
|
|
| |
llvm-svn: 274462
|
| |
|
|
| |
llvm-svn: 274461
|
| |
|
|
| |
llvm-svn: 274460
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds support for including the avx512 mask register information in the mask/maskz versions of shuffle instruction comments.
This initial version just adds support for MOVDDUP/MOVSHDUP/MOVSLDUP to reduce the mass of test regenerations, other shuffle instructions can be added in due course.
Differential Revision: http://reviews.llvm.org/D21953
llvm-svn: 274459
|
| |
|
|
| |
llvm-svn: 274458
|
| |
|
|
|
|
|
|
|
| |
PR28400 seems to be not an isolated issue, but a general problem related
to caching analyses. We will need to discuss on llvm-dev.
A test case is in the PR.
llvm-svn: 274457
|
| |
|
|
| |
llvm-svn: 274456
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This actually uncovered a surprisingly large chain of ultimately unused
TLI args.
From what I can gather, this argument is a remnant of when
isKnownNonNull would look at the TLI directly.
The current approach seems to be that InferFunctionAttrs runs early in
the pipeline and uses TLI to annotate the TLI-dependent non-null
information as return attributes.
This also removes the dependence of functionattrs on TLI altogether.
llvm-svn: 274455
|
| |
|
|
|
|
|
|
|
|
|
|
| |
expression evaluation as FFDiag.
Currently, we have CCEDiags (C++11 core constant expression diags) and Fold failure diagnostics [I don't claim to yet fully understand exactly why we need the difference]. This patch explicitly replaces Info.Diag (whose use always represents a fold failure diag within the file) with Info.FFDiag. This makes it more easily greppable in the file, and just like the name Info.CCEDiag, it gives the reader slight further insight into the nature of the diagnostic (as opposed to Info.Diag).
This patch is a preliminary refactoring step in an effort to allow support for compatibility-warnings and extensions (such as constexpr lambda) during constant expression evaluation.
All regressions pass.
llvm-svn: 274454
|
| |
|
|
| |
llvm-svn: 274453
|
| |
|
|
|
|
|
| |
It is implemented as a LoopAnalysis pass as
discussed and agreed upon.
llvm-svn: 274452
|
| |
|
|
| |
llvm-svn: 274451
|
| |
|
|
| |
llvm-svn: 274450
|
| |
|
|
| |
llvm-svn: 274449
|
| |
|
|
| |
llvm-svn: 274448
|
| |
|
|
| |
llvm-svn: 274447
|
| |
|
|
|
|
| |
The main change here is just moving stuff to static functions.
llvm-svn: 274446
|
| |
|
|
|
|
|
| |
This pulls some obvious changes out of http://reviews.llvm.org/D21921 to
minimize the diff.
llvm-svn: 274445
|
| |
|
|
| |
llvm-svn: 274444
|
| |
|
|
|
|
| |
generic IR
llvm-svn: 274443
|
| |
|
|
|
|
|
|
| |
generic IR
llvm companion patch imminent
llvm-svn: 274442
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This new chapter describes compiling LLVM IR to object files.
The new chaper is chapter 8, so later chapters have been renumbered.
Since this brings us to 10 chapters total, I've also needed to rename
the other chapters to use two digit numbering.
Differential Revision: http://reviews.llvm.org/D18070
llvm-svn: 274441
|
| |
|
|
| |
llvm-svn: 274440
|
| |
|
|
| |
llvm-svn: 274439
|
| |
|
|
| |
llvm-svn: 274438
|
| |
|
|
|
|
|
|
| |
This could of course be a simple binary search with no global state
involved at all if someone cares enough. Just don't make everyone
linking the hexagon backend pay for it on process startup and shutdown.
llvm-svn: 274437
|
| |
|
|
| |
llvm-svn: 274436
|