| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
There are quite a few places in the code base that do something like the following to set the high or low bits in an APInt.
KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1);
For BitWidths larger than 64 this creates a short lived APInt with malloced storage. I think it might even call malloc twice. Its better to just provide methods that can set the necessary bits without the temporary APInt.
I'll update usages that benefit in a separate patch.
Reviewers: majnemer, MatzeB, davide, RKSimon, hans
Reviewed By: hans
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D30525
llvm-svn: 297111
|
|
|
|
|
|
| |
r297094).
llvm-svn: 297110
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow-up to my change in r295090, which added support for
disabling these checks selectively based on setting the preprocessor
macro without relying on the Cmake setting. Swift has moved over to use
that approach, so we can clean up here and remove the Cmake setting.
https://reviews.llvm.org/D30578
llvm-svn: 297109
|
|
|
|
| |
llvm-svn: 297108
|
|
|
|
| |
llvm-svn: 297107
|
|
|
|
|
|
| |
warnings get enabled
llvm-svn: 297106
|
|
|
|
| |
llvm-svn: 297105
|
|
|
|
| |
llvm-svn: 297104
|
|
|
|
|
|
| |
Details and reproducer are on the email thread for r296863.
llvm-svn: 297103
|
|
|
|
| |
llvm-svn: 297102
|
|
|
|
| |
llvm-svn: 297101
|
|
|
|
|
|
|
| |
A bit more painful than G_INSERT because it was more widely used, but this
should simplify the handling of extract operations in most locations.
llvm-svn: 297100
|
|
|
|
| |
llvm-svn: 297099
|
|
|
|
| |
llvm-svn: 297098
|
|
|
|
|
|
|
| |
All it really needs is the llvm::Triple, so make FileSpec take
the Triple directly instead of the ArchSpec.
llvm-svn: 297096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This functionality is subsumed by DataBufferLLVM, which is
also more efficient since it will try to mmap. However, we
don't yet support mmaping writable private sections, and in
some cases we were using ReadFileContents and then modifying
the buffer. To address that I've added a flag to the
DataBufferLLVM methods that allow you to map privately, which
disables the mmaping path entirely. Eventually we should teach
DataBufferLLVM to use mmap with writable private, but that is
orthogonal to this effort.
Differential Revision: https://reviews.llvm.org/D30622
llvm-svn: 297095
|
|
|
|
|
|
|
|
|
| |
Summary:
After https://reviews.llvm.org/rL296904 xargs shouldn't be necesssary.
Differential Revision: https://reviews.llvm.org/D30371
llvm-svn: 297094
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The changes contained in this patch are:
1. Defines a new AST node `CoawaitDependentExpr` for representing co_await expressions while the promise type is still dependent.
2. Correctly detect and transform the 'co_await' operand to `p.await_transform(<expr>)` when possible.
3. Change the initial/final suspend points to build during the initial parse, so they have the correct operator co_await lookup results.
4. Fix transformation of the CoroutineBodyStmt so that it doesn't re-build the final/initial suspends.
@rsmith: This change is a little big, but it's not trivial for me to split it up. Please let me know if you would prefer this submitted as multiple patches.
Reviewers: rsmith, GorNishanov
Reviewed By: rsmith
Subscribers: ABataev, rsmith, mehdi_amini, cfe-commits
Differential Revision: https://reviews.llvm.org/D26057
llvm-svn: 297093
|
|
|
|
| |
llvm-svn: 297092
|
|
|
|
|
|
|
|
| |
This patch adds support to the DWARF YAML reader and writer for the new DWARF5 abbreviation form, DW_FORM_implicit_const.
The attribute was added in r291599.
llvm-svn: 297091
|
|
|
|
|
|
|
|
|
|
| |
Previously when a coroutine was building the implicit setup/destroy
constructs it would emit diagostics about failures on the first co_await/co_return/co_yield
it encountered. This was confusing because that construct may not itself be ill-formed.
This patch moves the diagnostics to the function start instead.
llvm-svn: 297089
|
|
|
|
| |
llvm-svn: 297088
|
|
|
|
|
|
| |
NFC, just a bit simpler.
llvm-svn: 297087
|
|
|
|
|
|
|
|
|
|
|
| |
This is known incomplete and not called in the right order relative to
other folds, but that's the current behavior. I'm just trying to clean
this up before making actual functional changes to make the patch smaller.
The logic here should mimic the IR equivalents that are in InstSimplify's
simplifyDivRem().
llvm-svn: 297086
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some late additions to DWARF v5 were not in Dwarf.def; also one form
was redefined. Add the new cases to relevant switches in different
parts of LLVM. Replace DW_FORM_ref_sup with DW_FORM_ref_sup[4,8].
I did not add support for DW_FORM_strx3/addrx3 other that defining the
constants. We don't have any infrastructure to support these.
Differential Revision: http://reviews.llvm.org/D30664
llvm-svn: 297085
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Because of the existence branches out of GNU statement expressions, it
is possible that emitting cleanups for a full expression may cause the
new insertion point to not be dominated by the result of the inner
expression. Consider this example:
struct Foo { Foo(); ~Foo(); int x; };
int g(Foo, int);
int f(bool cond) {
int n = g(Foo(), ({ if (cond) return 0; 42; }));
return n;
}
Before this change, result of the call to 'g' did not dominate its use
in the store to 'n'. The early return exit from the statement expression
branches to a shared cleanup block, which ends in a switch between the
fallthrough destination (the assignment to 'n') or the function exit
block.
This change solves the problem by spilling and reloading expression
evaluation results when any of the active cleanups have branches.
I audited the other call sites of enterFullExpression, and they don't
appear to keep and Values live across the site of the cleanup, except in
ARC code. I wasn't able to create a test case for ARC that exhibits this
problem, though.
Reviewers: rjmccall, rsmith
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D30590
llvm-svn: 297084
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add build option LIBOMP_OMP_VERSION=50, 5.0 headers, and add the year/month
associated with OpenMP 5.0 in relevant source locations. Also, remove the
deprecated LIBOMP_OMP_VERSION=41 option.
Patch by Olga Malysheva
Differential Revision: https://reviews.llvm.org/D30450
llvm-svn: 297083
|
|
|
|
|
|
|
|
| |
Patch by Olga Malysheva
Differential Revision: https://reviews.llvm.org/D30408
llvm-svn: 297082
|
|
|
|
|
|
|
|
| |
Fixed the asan bot failure which led to the last commit of the outliner being reverted.
The change is in lib/CodeGen/MachineOutliner.cpp in the SuffixTree's constructor. LeafVector
is no longer initialized using reserve but just a standard constructor.
llvm-svn: 297081
|
|
|
|
|
|
|
| |
Recommit r297039 without the testcase. The MIR testcase did not work
well with MC code emitter.
llvm-svn: 297080
|
|
|
|
| |
llvm-svn: 297079
|
|
|
|
|
|
|
|
|
|
| |
This patch extends the current functionality of the AArch64 redundant copy
elimination pass to handle CMN instructions as well as a shifted
immediates.
Differential Revision: https://reviews.llvm.org/D30576.
llvm-svn: 297078
|
|
|
|
| |
llvm-svn: 297077
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Added co_return statement emission.
Tweaked coro-alloc.cpp test to use co_return to trigger coroutine processing instead of co_await, since this change starts emitting the body of the coroutine and await expression handling has not been upstreamed yet.
Reviewers: rsmith, majnemer, EricWF, aaron.ballman
Reviewed By: rsmith
Subscribers: majnemer, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D29979
llvm-svn: 297076
|
|
|
|
| |
llvm-svn: 297075
|
|
|
|
| |
llvm-svn: 297074
|
|
|
|
| |
llvm-svn: 297073
|
|
|
|
|
|
|
| |
This error can be recovered from by stripping debug info.
This is NFC for +asserts builds.
llvm-svn: 297072
|
|
|
|
| |
llvm-svn: 297071
|
|
|
|
|
|
|
|
| |
This adds AArch64 support to recently added part of the runtime responsible for offloading to target. This piece of code allows offloading-to-self on AArch64 machines.
Differential Revision: https://reviews.llvm.org/D30644
llvm-svn: 297070
|
|
|
|
| |
llvm-svn: 297069
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch refactors the DWARFYAML code for dumping compile units to use a visitor pattern. Using this design will, in the future, enable the DWARF YAML code to perform analysis and mutations of the DWARF DIEs. An example of such mutations would be calculating the length of a compile unit and updating the CU's Length field before writing the DIE. This support will make it easier to craft or modify DWARF tests by hand.
Reviewers: lhames
Subscribers: mgorny, fhahn, jgosnell, aprantl, llvm-commits
Differential Revision: https://reviews.llvm.org/D30357
llvm-svn: 297067
|
|
|
|
| |
llvm-svn: 297066
|
|
|
|
| |
llvm-svn: 297065
|
|
|
|
| |
llvm-svn: 297064
|
|
|
|
|
|
|
|
| |
tools/lld/ELF/Symbols.cpp:215:13: error: unused variable 'S'
[-Werror,-Wunused-variable]
if (auto *S = dyn_cast<SharedSymbol>(this)
llvm-svn: 297063
|
|
|
|
| |
llvm-svn: 297062
|
|
|
|
| |
llvm-svn: 297061
|
|
|
|
|
|
|
|
| |
also exit early on kill instead of redefinition.
Differential Revision: https://reviews.llvm.org/D30230
llvm-svn: 297060
|
|
|
|
| |
llvm-svn: 297059
|