| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a port of XRay to ARM 32-bit, without Thumb support yet. The XRay instrumentation support is moving up to AsmPrinter.
This is one of 3 commits to different repositories of XRay ARM port. The other 2 are:
1. https://reviews.llvm.org/D23932 (Clang test)
2. https://reviews.llvm.org/D23933 (compiler-rt)
Differential Revision: https://reviews.llvm.org/D23931
llvm-svn: 280888
|
| |
|
|
| |
llvm-svn: 280887
|
| |
|
|
|
|
| |
This reverts commit a7ad00460027c4a92640c2a5706a7d1869b60989.
llvm-svn: 280886
|
| |
|
|
|
|
|
|
|
| |
Reset the SIGABRT signal handler before calling abort().
Also, change the error message when catching SIGABRT to say "ABRT"
instead of "SEGV".
llvm-svn: 280885
|
| |
|
|
|
|
|
|
|
|
| |
Instruction::andIRFlags.
The two functions are functionally equivalent.
Differential Revision: https://reviews.llvm.org/D22830
llvm-svn: 280884
|
| |
|
|
|
|
|
|
|
|
| |
state"
Fails on Windows.
This reverts commit r280880.
llvm-svn: 280883
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This file should be referenced from
thinlto-function-summary-callgraph-pgo.ll file,
but someone forgot to use it there. Everything worked because
we store pgo data about callsite blocks, so there is no need to have
pgo count of @func.
Reviewers: tejohnson, eraman, mehdi_amini
Subscribers: mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D24309
llvm-svn: 280882
|
| |
|
|
| |
llvm-svn: 280881
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
C allows to jump over variables declaration so lifetime.start can be
avoid before variable usage. To avoid false-positives on such rare cases
we detect them and remove from lifetime analysis.
PR27453
PR28267
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D24321
llvm-svn: 280880
|
| |
|
|
| |
llvm-svn: 280879
|
| |
|
|
|
|
| |
for Google style to "empty".
llvm-svn: 280878
|
| |
|
|
|
|
|
|
| |
On Linux ARM, the syscall will take 3 arguments (start, end, flags). Ensure
that we do not pass garbage to the flags, which can cause the cacheflush call to
fail, and therefore cause an abort at runtime.
llvm-svn: 280877
|
| |
|
|
|
|
|
|
|
| |
Android-specific code in GetCurrentThread() does not handle the situation when there is no
ThreadContext for the current thread. This happens if the current thread is requested before the
main thread is added to the registry. 64-bit allocator does that to record map/unmap stats during
initialization.
llvm-svn: 280876
|
| |
|
|
|
|
|
|
| |
Normally, syslog() uses argv[0] for the log tag; bionic, however,
would crash in syslog() before libc constructor unless the log
tag is explicitly set with openlog().
llvm-svn: 280875
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attempt to fix requoting behavior in r280487 after changes to
tooling::Replacements are incomplete. We essentially need to add to
replacements at the same position, one to insert a line break and one to
change the quoting and that's incompatible with the new
tooling::Replacement API, which does not allow for order-dependent
Replacements. To make the order clear, Replacements::merge() has to be
used, but that requires the merged Replacement to actually refer to the
changed text, which is hard to reproduce for the requoting.
This change fixes the behavior by moving the requoting to a completely
separate pass. The added benefit is that no weird ColumnWidth
calculations are necessary anymore and this should just work even if we
implement string literal splitting in the future.
llvm-svn: 280874
|
| |
|
|
|
|
| |
splat constant vectors
llvm-svn: 280873
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: jhen
Subscribers: parallel_libs-commits
Differential Revision: https://reviews.llvm.org/D24240
llvm-svn: 280872
|
| |
|
|
|
|
|
|
|
|
| |
clang (since r280553) allows pointer casts in function overloads,
so we need to disambiguate the second argument.
clang might be smarter about overloads in the future
see https://reviews.llvm.org/D24113, but let's be safe in libclc anyway.
llvm-svn: 280871
|
| |
|
|
|
|
|
|
| |
other minor fixes.
Differential revision: https://reviews.llvm.org/D24115
llvm-svn: 280870
|
| |
|
|
|
|
| |
CompileCudaWithLLVM.rst.
llvm-svn: 280869
|
| |
|
|
|
|
| |
CompileCudaWithLLVM.rst.
llvm-svn: 280868
|
| |
|
|
| |
llvm-svn: 280867
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't create metadata-valued PHIs; don't try to do so when sinking.
I created a test case for this using the @llvm.type.test intrinsic, because it
takes a metadata parameter and does not have severe side effects (thus
SimplifyCFG is willing to otherwise sink it).
Previously, running the test case would crash with:
Invalid use of metadata!
%.sink = select i1 %flag, metadata <...>, metadata <0x4e45dc0>
LLVM ERROR: Broken function found, compilation aborted!
llvm-svn: 280866
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24299
llvm-svn: 280865
|
| |
|
|
|
|
|
|
|
| |
GCC passes it by default on powerpc64 on FreeBSD. GNU ld claims "this
option is ignored for SVR4 compatibility", so we can ignore it too.
Differential Revision: https://reviews.llvm.org/D24313
llvm-svn: 280864
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
A few small changes required to permit building the sanitizers
with Clang instead of only with MSVC.
Reviewers: compnerd, beanz, rnk
Subscribers: beanz, timurrrr, kubabrecka, dberris, llvm-commits
Differential Revision: https://reviews.llvm.org/D24092
llvm-svn: 280863
|
| |
|
|
|
|
|
|
|
|
|
| |
https://llvm.org/bugs/show_bug.cgi?id=29058.
While node legalization we tried to legalize its operands.
If an operand node is replaced during legalization the user node may be destroyed.
Differential Revision: https://reviews.llvm.org/D24244
llvm-svn: 280862
|
| |
|
|
|
|
|
|
| |
This is a revert of r280676 which was a revert of r280637;
ie, this is r280637 again. It was speculatively reverted to
help debug buildbot failures.
llvm-svn: 280861
|
| |
|
|
| |
llvm-svn: 280860
|
| |
|
|
| |
llvm-svn: 280859
|
| |
|
|
| |
llvm-svn: 280858
|
| |
|
|
|
|
|
|
|
| |
No need to have a long inline code snippet in this doc.
Also move "flags that control numerical code" underneath the "invoking
clang" section, and reformat things a bit.
llvm-svn: 280857
|
| |
|
|
| |
llvm-svn: 280856
|
| |
|
|
|
|
|
|
| |
Shadow uses need to be analyzed together, since each individual shadow
will only have a partial reaching def. All shadows together may cover
a given register ref, while each individual shadow may not.
llvm-svn: 280855
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Make sure that windows libraries contain the suffixes expected by clang.
This is expecially important when compiling the windows builtins with
clang, as cmake will use .a as the suffix by default.
Reviewers: beanz, compnerd
Subscribers: llvm-commits, dberris
Differential Revision: https://reviews.llvm.org/D24046
llvm-svn: 280854
|
| |
|
|
| |
llvm-svn: 280853
|
| |
|
|
| |
llvm-svn: 280852
|
| |
|
|
| |
llvm-svn: 280851
|
| |
|
|
| |
llvm-svn: 280850
|
| |
|
|
|
|
|
| |
CUDA is an extension to C++ -- there is no such thing as "CUDA C". But
also, the language is much more commonly called "CUDA" than "CUDA C++".
llvm-svn: 280849
|
| |
|
|
| |
llvm-svn: 280848
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r280553 introduced an issue where we'd emit ambiguity errors for code
like:
```
void foo(int *, int);
void foo(unsigned int *, unsigned int);
void callFoo() {
unsigned int i;
foo(&i, 0); // ambiguous: int->unsigned int is worse than int->int,
// but unsigned int*->unsigned int* is better than
// int*->int*.
}
```
This patch fixes this issue by changing how we handle ill-formed (but
valid) implicit conversions. Candidates with said conversions now always
rank worse than candidates without them, and two candidates are
considered to be equally bad if they both have these conversions for
the same argument.
Additionally, this fixes a case in C++11 where we'd complain about an
ambiguity in a case like:
```
void f(char *, int);
void f(const char *, unsigned);
void g() { f("abc", 0); }
```
...Since conversion to char* from a string literal is considered
ill-formed in C++11 (and deprecated in C++03), but we accept it as an
extension.
llvm-svn: 280847
|
| |
|
|
|
|
|
| |
Previous patch added a #if which caused a variable and function
to be unused.
llvm-svn: 280846
|
| |
|
|
|
|
|
|
| |
- Should diag on a function (clang-cl warns; it's an error in cl)
- Test the attribute on nested classes (clang-cl is more permissive and more
self-consistent than cl here)
llvm-svn: 280845
|
| |
|
|
|
|
|
| |
Over-zealous cleanup of using statements removed some that were
actually needed. Also cleaned up a few warnings.
llvm-svn: 280844
|
| |
|
|
|
|
|
|
| |
meaningful, NFC.
Add PR number and comment in pr30298.ll to explain what is testing.
llvm-svn: 280843
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a bug causing pch to be validated even though -fno-validate-pch is set. This patch fixes it.
ASTReader relies on ASTReaderListener to initialize SuggestedPredefines, which is required for compilations using PCH. Before this change, PCHValidator is the default ASTReaderListener. After this change, when -fno-validate-pch is set, PCHValidator is disabled, but we need a replacement ASTReaderListener to initialize SuggestedPredefines. Class SimpleASTReaderListener is implemented for this purpose.
This change only affects -fno-validate-pch. There is no functional change if -fno-validate-pch is not set.
If -fno-validate-pch is not set, conflicts in predefined macros between pch and current compiler instance causes error.
If -fno-validate-pch is set, predefine macros in current compiler override those in pch so that compilation can continue.
Differential Revision: https://reviews.llvm.org/D24054
llvm-svn: 280842
|
| |
|
|
| |
llvm-svn: 280841
|
| |
|
|
|
|
|
|
|
|
|
| |
For now this only adds the UI necessary to configure clang-tidy
settings graphically, and it enables reading in and saving out
of .clang-tidy files. It does not actually run clang-tidy on
any source files yet.
Differential Revision: https://reviews.llvm.org/D23848
llvm-svn: 280840
|
| |
|
|
|
|
|
|
| |
This was originally reverted because the patch on the clang
tooling side was reverted. That patch is being resubmitted,
so this patch is resubmitted as well.
llvm-svn: 280839
|