| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
AST matchers.
llvm-svn: 247887
|
|
|
|
|
|
| |
correlates to r247885 which performs the AST matcher rename in Clang.
llvm-svn: 247886
|
|
|
|
|
|
| |
rename also splits recordDecl() (which used to match CXXRecordDecl) into recordDecl() (that matches RecordDecl) and cxxRecordDecl (that matches CXXRecordDecl). Also adds isStruct(), isUnion(), and isClass() narrowing matchers for RecordDecl objects.
llvm-svn: 247885
|
|
|
|
| |
llvm-svn: 247884
|
|
|
|
| |
llvm-svn: 247883
|
|
|
|
| |
llvm-svn: 247882
|
|
|
|
|
|
|
|
|
|
|
|
| |
convert i64 to FP and vice versa
reduceps & reducepd
rangeps & rangepd
all in their 512bit versions
Differential Revision: http://reviews.llvm.org/D11716
llvm-svn: 247881
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D9658
llvm-svn: 247880
|
|
|
|
|
|
|
| |
Android-aarch64 for API21 uses sa_restore to return from a signal handler
what have no eh_frame specified.
llvm-svn: 247879
|
|
|
|
| |
llvm-svn: 247878
|
|
|
|
| |
llvm-svn: 247877
|
|
|
|
|
|
|
|
|
|
| |
AVX-512 does not provide an instruction that shuffles mask register. So I do the following way:
mask-2-simd , shuffle simd , simd-2-mask
Differential Revision: http://reviews.llvm.org/D12727
llvm-svn: 247876
|
|
|
|
|
|
| |
what I mean
llvm-svn: 247875
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds enough machinery to support reading simple GCC AutoFDO
profiles. It now supports reading flat profiles (no function calls).
Subsequent patches will add support for:
- Inlined calls (in particular, the inline call stack is not traversed
to accumulate samples).
- Working sets and modules. These are used mostly for GCC's LIPO
optimizations, so they're not needed in LLVM atm. I'm not sure that
we will ever need them. For now, I've if0'd around the calls.
The patch also adds support in GCOV.h for gcov version V704 (generated
by GCC's profile conversion tool).
llvm-svn: 247874
|
|
|
|
|
|
|
| |
After reading the profile, check if the reader returned any errors
before showing the profile.
llvm-svn: 247873
|
|
|
|
|
|
| |
What that does is it restricts formatters in those categories to only match to types coming from "compatible" source languages
llvm-svn: 247872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Describe the compile and runtime flags to enable MemorySanitizer
detection of use-after-destroy.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12914
Revise doc description of use-after-dtor.
Change wording to specify memory no longer readable.
llvm-svn: 247871
|
|
|
|
| |
llvm-svn: 247870
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Basically the concept of "liveness" is for sections (or chunks in LLD
terminology) and not for symbols. Symbols are always available or live,
or otherwise it indicates a link failure.
Previously, we had isLive() and markLive() methods for DefinedSymbol.
They are confusing methods. What they actually did is to act as a proxy
to backing section chunks. We can simplify eliminate these methods
and call section chunk's methods directly.
llvm-svn: 247869
|
|
|
|
| |
llvm-svn: 247868
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
For loop destroyed current instance before invoking next.
Temporary variable added to prevent use-after-dtor when invoke
destructor on current instance.
Reviewers: eugenis
Subscribers: llvm-commits, sanjoy
Differential Revision: http://reviews.llvm.org/D12912
Rename temp var.
llvm-svn: 247867
|
|
|
|
|
|
|
| |
because it isn't being used on anything via the assembler right
now.
llvm-svn: 247866
|
|
|
|
| |
llvm-svn: 247865
|
|
|
|
|
|
| |
propagate to all callers/users/etc.
llvm-svn: 247864
|
|
|
|
| |
llvm-svn: 247863
|
|
|
|
|
|
| |
corresponding to r247859.
llvm-svn: 247862
|
|
|
|
|
|
|
|
| |
specialized object, track it properly.
Differential Revision: http://reviews.llvm.org/D12889
llvm-svn: 247861
|
|
|
|
|
|
| |
It never really worked, and the new code is working better every day.
llvm-svn: 247860
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The analyzer trims unnecessary nodes from the exploded graph before reporting
path diagnostics. However, in some cases it can trim all nodes (including the
error node), leading to an assertion failure (see
https://llvm.org/bugs/show_bug.cgi?id=24184).
This commit addresses the issue by adding two new APIs to CheckerContext to
explicitly create error nodes. Unless the client provides a custom tag, these
APIs tag the node with the checker's tag -- preventing it from being trimmed.
The generateErrorNode() method creates a sink error node, while
generateNonFatalErrorNode() creates an error node for a path that should
continue being explored.
The intent is that one of these two methods should be used whenever a checker
creates an error node.
This commit updates the checkers to use these APIs. These APIs
(unlike addTransition() and generateSink()) do not take an explicit Pred node.
This is because there are not any error nodes in the checkers that were created
with an explicit different than the default (the CheckerContext's Pred node).
It also changes generateSink() to require state and pred nodes (previously
these were optional) to reduce confusion.
Additionally, there were several cases where checkers did check whether a
generated node could be null; we now explicitly check for null in these places.
This commit also includes a test case written by Ying Yi as part of
http://reviews.llvm.org/D12163 (that patch originally addressed this issue but
was reverted because it introduced false positive regressions).
Differential Revision: http://reviews.llvm.org/D12780
llvm-svn: 247859
|
|
|
|
|
|
|
| |
I don't intend to add full i686 support right now, just make sure we have all
the infrastructure in place for it.
llvm-svn: 247858
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: zturner
Subscribers: tberghammer, lldb-commits, danalbert
Differential Revision: http://reviews.llvm.org/D12909
llvm-svn: 247857
|
|
|
|
|
|
|
|
|
| |
Only live symbols are written to the symbol table. Because isLive()
returned false if dead-stripping was disabled entirely, only
non-COMDAT sections were written to the symbol table. This patch fixes
the issue.
llvm-svn: 247856
|
|
|
|
|
|
| |
Works for gcc-4.8. A bug in gcc perhaps.
llvm-svn: 247855
|
|
|
|
| |
llvm-svn: 247854
|
|
|
|
|
|
| |
This patch also makes the message less verbose.
llvm-svn: 247853
|
|
|
|
|
|
|
|
|
|
| |
The Go runtime schedules user level threads (goroutines) across real threads.
This adds an OS plugin to create memory threads for goroutines.
It supports the 1.4 and 1.5 go runtime.
Differential Revision: http://reviews.llvm.org/D5871
llvm-svn: 247852
|
|
|
|
|
|
| |
I was constructing an object without filling in all the fields.
llvm-svn: 247851
|
|
|
|
|
|
| |
This refactoring is to enable clang to re-use this code.
llvm-svn: 247850
|
|
|
|
|
|
|
|
|
|
| |
Symbol table is now populated correctly, but some fields are missing,
they'll be added in the future. This patch also adds --discard-all
flag, which was the default behavior until now.
Differential Revision: http://reviews.llvm.org/D12874
llvm-svn: 247849
|
|
|
|
|
|
|
|
| |
The MSVC doesn't really support exception specifications so let's just
turn these into cleanuppads. Later, we might use terminatepad to more
efficiently encode the "noexcept"-ness of a function body.
llvm-svn: 247848
|
|
|
|
|
|
|
|
|
| |
from outside the BitstreamWriter.
Split out of patch D12536 (Function bitcode index in Value Symbol Table
and lazy reading support), which will use it to patch in the VST offset.
llvm-svn: 247847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
`signum(x)` is sometimes implemented as `(x >> 63) | (-x >>> 63)` (for
an `i64` `x`). This change adds a matcher for that pattern, and an
instcombine rule to optimize `signum(x) s< 1`.
Later, we can also consider optimizing:
icmp slt signum(x), 0 --> icmp slt x, 0
icmp sle signum(x), 1 --> true
etc.
Reviewers: majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12703
llvm-svn: 247846
|
|
|
|
| |
llvm-svn: 247845
|
|
|
|
|
|
|
|
|
|
| |
Clang now passes the adjectives as an argument to catchpad.
Getting the CatchObj working is simply a matter of threading another
static alloca through codegen, first as an alloca, then as a frame
index, and finally as a frame offset.
llvm-svn: 247844
|
|
|
|
|
|
|
|
|
| |
This avoids building a fake LLVM IR global variable just to ferry an i32
down into LLVM codegen. It also puts a nail in the coffin of using MS
ABI C++ EH with landingpads, since now we'll assert in the lpad code
when flags are present.
llvm-svn: 247843
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ncurses related symbols can either all be found in libnurses or split
between libncurses and libtinfo. The main LLVM cmake scripts look for the
setupterm symbol and stores the library that has it in TERMINFO_LIBS. This
covers the split and unified ncurses case. LLDB uses symbols that can end
up in libtinfo so this library should be pulled in if it is found.
There is still an exotic case left where LLDB is configured with
-DLLDB_DISABLE_CURSES=NO and LLVM with -DLLVM_ENABLE_TERMINFO=NO but
misconfigurations will always be possible. Possibly a diagnostic could be
added for that.
This fixes bug 24693.
Differential Revision: http://reviews.llvm.org/D12672
Patch by Jeremi Piotrowski
llvm-svn: 247842
|
|
|
|
|
|
|
|
|
|
|
| |
The implications of this bug where that "log disable windows" would
not actually disable the log, and worse it would lock the file handle
making it impossible to delete the file until lldb was shut down.
This was then causing the test suite to fail, because the test suite
tries to delete log files in certain situations.
llvm-svn: 247841
|
|
|
|
|
|
|
| |
error: width of bit-field 'allocated' (8 bits) exceeds the width of
its type; value will be truncated to 1 bit [-Werror,-Wbitfield-width]
llvm-svn: 247840
|
|
|
|
|
|
|
| |
The string table contains a file path, so addresses and offsets can be
different on some setups.
llvm-svn: 247839
|
|
|
|
|
|
|
| |
When DynamicSection is constructed we still don't know if there will be
any dynamic relocations or not.
llvm-svn: 247838
|