| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368944
|
|
|
|
|
|
|
|
|
|
| |
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368942
|
|
|
|
| |
llvm-svn: 368941
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When handling a member access into a non-class, non-ObjC-object type, we
would perform a lookup into the surrounding scope as if for an
unqualified lookup. If the member access was followed by a '<' and this
lookup (or the typo-correction for it) found a template name, we'd treat
the member access as naming that template.
Now we treat such accesses as never naming a template if the type of the
object expression is of vector type, so that vector component accesses
are never misinterpreted as naming something else. This is not entirely
correct, since it is in fact valid to name a template from the enclosing
scope in this context, when invoking a pseudo-destructor for the vector
type via an alias template, but that's very much a corner case, and this
change leaves that case only as broken as the corresponding case for
Objective-C types is.
This incidentally adds support for dr2292, which permits a 'template'
keyword at the start of a member access naming a pseudo-destructor.
llvm-svn: 368940
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: LLVM_HAS_RVALUE_REFERENCE_THIS and LLVM_LVALUE_FUNCTION shouldn't be needed anymore because the minimum compiler versions support them.
Subscribers: jkorous, dexonsmith, cfe-commits, llvm-commits, hans, thakis, chandlerc, rnk
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D66240
llvm-svn: 368939
|
|
|
|
|
|
| |
http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/35674/steps/build_Lld/logs/stdio
llvm-svn: 368938
|
|
|
|
|
|
|
|
|
| |
Summary:
Currently the heuristic used in ClangASTContext::CreateRecordType to identify an anonymous class is that there is that name is a nullptr or simply a null terminator. This heuristic is not accurate since it will also sweep up unnamed classes and lambdas. The improved heuristic relies on the requirement that an anonymous class must be contained within a class.
Differential Revision: https://reviews.llvm.org/D66175
llvm-svn: 368937
|
|
|
|
|
|
|
|
|
|
| |
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368936
|
|
|
|
|
|
|
|
|
|
| |
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368935
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This modification was put in place so the `ReduceMetadata` pass doesn't have to consider debug functions
Reviewers: dblaikie
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66257
llvm-svn: 368934
|
|
|
|
|
|
|
|
|
|
| |
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368933
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Errors fixed:
- GettingStarted: Duplicate explicit target name: "cmake"
- GlobalISel: Unexpected indentation
- LoopTerminology: Explicit markup ends without a blank line; unexpected unindent
- ORCv2: Definition list ends without a blank line; unexpected unindent
- Misc: document isn't included in any toctree
Verified that a clean docs build (`rm -rf docs/ && ninja docs-llvm-html`) passes with no errors. Spot checked the individual pages to make sure they look OK.
Reviewers: thakis, dsanders
Reviewed By: dsanders
Subscribers: arphaman, llvm-commits, lhames, rovka, dsanders, reames
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66183
llvm-svn: 368932
|
|
|
|
| |
llvm-svn: 368931
|
|
|
|
| |
llvm-svn: 368930
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Diagnose dangling pointers that come from std::stack::top() and std::optional::value().
Reviewers: gribozavr
Subscribers: cfe-commits, xazax.hun
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66164
llvm-svn: 368929
|
|
|
|
| |
llvm-svn: 368928
|
|
|
|
| |
llvm-svn: 368927
|
|
|
|
|
|
| |
vector zeroinitializer indices in addition to scalar zeroes.
llvm-svn: 368926
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D66146
llvm-svn: 368925
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Instead of constantly keeping track of the nonnull status with the
dereferenceable information we can simply query the nonnull attribute
whenever we need the information (debug + manifest).
Reviewers: sstefan1, uenoku
Subscribers: hiraditya, bollu, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66113
llvm-svn: 368924
|
|
|
|
|
|
|
|
|
| |
Implement this single atomic load instruction so that we can compile stack
protector code.
Differential Revision: https://reviews.llvm.org/D66245
llvm-svn: 368923
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
As one of the first attributes, and one of the complex ones,
AAReturnedValues was not using liveness but we filtered the result after
the fact. This change adds liveness usage during the creation. The
algorithm is also improved and shorter.
The new algorithm will collect returned values over time using the
generic facilities that work with liveness already, e.g.,
genericValueTraversal which does not look at dead PHI node predecessors.
A test to show how this leads to better results is included.
Note: Unresolved calls and resolved calls are now tracked explicitly.
Reviewers: uenoku, sstefan1
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66120
llvm-svn: 368922
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
If the associated context instruction is assumed dead we do not need to
update or manifest the state.
Reviewers: sstefan1, uenoku
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66116
llvm-svn: 368921
|
|
|
|
|
|
|
|
|
|
|
| |
It seems this breaks the following tests:
lldb-Suite :: expression_command/call-function/TestCallUserDefinedFunction.py
lldb-Suite :: expression_command/rdar42038760/TestScalarURem.py
Let's revert this patch and wait until we find an actual issue that could be
fixed by also doing the guard variable check on Windows.
llvm-svn: 368920
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The next attempt to clean up the Attributor interface before we grow it
further.
Before, we used a combination of two values (associated + anchor) and an
argument number (or -1) to determine a location. This was very fragile.
The new system uses exclusively IR positions and we restrict the
generation of IR positions to special constructor methods that verify
internal constraints we have. This will catch misuse early.
The auto-conversion, e.g., in getAAFor, is now performed through the
SubsumingPositionIterator. This iterator takes an IR position and allows
to visit all IR positions that "subsume" the given one, e.g., function
attributes "subsume" argument attributes of that function. For a
detailed breakdown see the class comment of SubsumingPositionIterator.
This patch also introduces the IRPosition::getAttrs() to extract IR
attributes at a certain position. The method knows how to look up in
different positions that are equivalent, e.g., the argument position for
call site arguments. We also introduce three new positions kinds such
that we have all IR positions where attributes can be placed and one for
"floating" values.
Reviewers: sstefan1, uenoku
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65977
llvm-svn: 368919
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This pass tries to remove Global Variables, as well as their derived uses. For example if a variable `@x` is used by `%call1` and `%call2`, both these uses and the definition of `@x` are deleted. Moreover if `%call1` or `%call2` are used elsewhere those uses are also deleted, and so on recursively.
I'm still uncertain if this pass should remove derived uses, I'm open to suggestions.
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64176
llvm-svn: 368918
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D66246
llvm-svn: 368917
|
|
|
|
|
|
| |
thread' value to the underlying implementation. Fixes PR#42918.
llvm-svn: 368916
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This diff also changed the check in `Delta.cpp` to verify interesting-ness, so it exits when the input isn't interesting
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66251
llvm-svn: 368915
|
|
|
|
| |
llvm-svn: 368914
|
|
|
|
|
|
| |
More coverage for D66236.
llvm-svn: 368913
|
|
|
|
|
|
|
|
| |
Path is now checked when comparing two Infos in the unit tests.
Differential Revision: https://reviews.llvm.org/D66124
llvm-svn: 368912
|
|
|
|
|
|
|
|
| |
Like CTAD for std::unordered_set, AppleClang 9's support for CTAD is
insufficient. I suspect the corresponding LLVM Clang is broken too,
but we don't seem to have testers using that Clang.
llvm-svn: 368911
|
|
|
|
|
|
| |
The workaround isn't needed anymore because all toolchains should support it.
llvm-svn: 368910
|
|
|
|
| |
llvm-svn: 368909
|
|
|
|
| |
llvm-svn: 368908
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is sometimes useful to have the C++ standard library linked into the
assembly when compiling clang, particularly when distributing a compiler
onto systems that don't have a copy of stdlibc++ or libc++ installed.
This functionality should work with either GCC or Clang as the host
compiler, though statically linking libc++ (as may be required for
licensing purposes) is only possible if the host compiler is Clang with
a copy of libc++ available.
Differential Revision: https://reviews.llvm.org/D65603
llvm-svn: 368907
|
|
|
|
|
|
| |
indexes.
llvm-svn: 368906
|
|
|
|
| |
llvm-svn: 368905
|
|
|
|
| |
llvm-svn: 368904
|
|
|
|
|
|
|
|
| |
Added basic support for non-rectangular loops. It requires an additional
analysis of min/max boundaries for non-rectangular loops. Since only
linear dependency is allowed, we can do this analysis.
llvm-svn: 368903
|
|
|
|
|
|
| |
Looks like the problem was due to the cmake cache, Chris fixed in r368897.
llvm-svn: 368902
|
|
|
|
|
|
|
| |
Once the failure this is testing is fixed, this would fail due to
using too many registers.
llvm-svn: 368901
|
|
|
|
|
|
| |
AllOnes has been split into build-vector-allones.ll.
llvm-svn: 368900
|
|
|
|
|
|
|
|
| |
call
Seems like a copy-paste from couple lines above.
llvm-svn: 368899
|
|
|
|
|
|
|
|
|
|
|
|
| |
exit count
We already supported rewriting loop exit values for multiple exit loops, but if any of the loop exits were not computable, we gave up on all loop exit values. This patch generalizes the existing code to handle individual computable loop exits where possible.
As discussed in the review, this is a starting point for figuring out a better API. The code is a bit ugly, but getting it in lets us test as we go.
Differential Revision: https://reviews.llvm.org/D65544
llvm-svn: 368898
|
|
|
|
|
|
| |
This cleans up fallout from https://reviews.llvm.org/D66195.
llvm-svn: 368897
|
|
|
|
|
|
| |
Some bots can't find is_final despite it being in C++14. Leave the code as it was for now, fix it later when the bots are happy.
llvm-svn: 368896
|
|
|
|
|
|
|
|
| |
I'm planning on handling intrinsics that will benefit from checking
the address space enums. Don't bother moving the address collection
for now, since those won't need th enums.
llvm-svn: 368895
|
|
|
|
|
|
| |
The IR is invalid if this isn't a constant since immarg was added.
llvm-svn: 368893
|