| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
(sub 0, (sext bool to A)) to (zext bool to A).
Patch by Muhammad Ahmad
Reviewed by Duncan Sands
llvm-svn: 173093
|
| |
|
|
| |
llvm-svn: 173092
|
| |
|
|
| |
llvm-svn: 173090
|
| |
|
|
| |
llvm-svn: 173088
|
| |
|
|
| |
llvm-svn: 173087
|
| |
|
|
| |
llvm-svn: 173086
|
| |
|
|
| |
llvm-svn: 173085
|
| |
|
|
| |
llvm-svn: 173084
|
| |
|
|
| |
llvm-svn: 173083
|
| |
|
|
| |
llvm-svn: 173082
|
| |
|
|
|
|
|
| |
than DenseMaps and SmallPtrSets for module-visitation data. ~2.6%
speedup for modules.
llvm-svn: 173081
|
| |
|
|
|
|
|
|
|
| |
lexical declarations looking for properties when we could more
efficiently check for property mismatches at property declaration
time. Good for ~1% of -fsyntax-only time when most of the properties
we're checking against come from an AST file.
llvm-svn: 173079
|
| |
|
|
|
|
| |
change.
llvm-svn: 173078
|
| |
|
|
|
|
| |
the other paren parsing methods.
llvm-svn: 173077
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Providing a special mode of operator for "memory read -f c-str" which actually works in most common cases
Where the old behavior would provide:
(lldb) mem read --format s `foo`
0x100000f5d: NULL
Now we do:
(lldb) mem read --format s `foo`
0x100000f5d: "hello world"
You can also specify a count and that many strings will be showed starting at the initial address:
(lldb) mem read -c 2 -f c-str `foo`
0x100000f1d: "hello world"
0x100000f29: "short"
llvm-svn: 173076
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Very similar to what we do for record definitions:
- tighten down what is an enum definition, so that we don't mistake a
function for an enum
- allow common idioms around declarations (we'll want to handle that
more centrally in the future)
We now correctly format:
enum X f() {
a();
return 42;
}
llvm-svn: 173075
|
| |
|
|
|
|
|
|
| |
to debug it
so revert it for now.
llvm-svn: 173074
|
| |
|
|
|
|
|
|
|
|
| |
did a redundant traversal of the lexical declarations in the
superclass. Instead, when we declare a new property, look into the
superclass to see whether we're redeclaring the property. Goot for 1%
of -fsyntax-only time on Cocoa.h and a little less than 3% on my
modules test case.
llvm-svn: 173073
|
| |
|
|
|
|
|
|
|
| |
instead of 32-bits at a time.
This cuts in half the number of virtual methods called to refill that word when compiling on a 64-bit
host, and will make 64-bit read operations faster.
llvm-svn: 173072
|
| |
|
|
|
|
|
|
|
|
| |
crash if Precompilepreamble
is set to true because there is no FileManager at that point.
Patch by Hurcan Solter!
llvm-svn: 173071
|
| |
|
|
|
|
|
| |
Note to self: don't remove comments /after/ updating the line-sensitive
part of a test.
llvm-svn: 173070
|
| |
|
|
|
|
|
| |
DeclContext lookups. The performance win is negligible in my tests,
but it's the Right Thing To Do (TM).
llvm-svn: 173068
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
struct Wrapper { <-- 2. Calling default constructor for 'NonTrivial'.
NonTrivial m;
};
Wrapper w; <-- 1. Calling implicit default constructor for 'Wrapper'.
After:
struct Wrapper {
NonTrivial m;
};
Wrapper w; <-- 1. Calling implicit default constructor for 'Wrapper'.
^-- 2. Calling default constructor for 'NonTrivial'.
llvm-svn: 173067
|
| |
|
|
|
|
|
|
|
| |
passing
in a StringRef to bind to them forces them to be unpacked into the Record as individual
bytes. This is wasteful, but not likely to be measurable in this instance.
llvm-svn: 173066
|
| |
|
|
|
|
|
|
| |
BLOB (i.e., large, performance intensive data) in a bitcode file was switched to
invoking one virtual method call per byte read. Now we do one virtual call per
BLOB.
llvm-svn: 173065
|
| |
|
|
|
|
|
|
| |
scheduler to use it.
A SparseMultiSet adds multiset behavior to SparseSet, while retaining SparseSet's desirable properties. Essentially, SparseMultiSet provides multiset behavior by storing its dense data in doubly linked lists that are inlined into the dense vector. This allows it to provide good data locality as well as vector-like constant-time clear() and fast constant time find(), insert(), and erase(). It also allows SparseMultiSet to have a builtin recycler rather than keeping SparseSet's behavior of always swapping upon removal, which allows it to preserve more iterators. It's often a better alternative to a SparseSet of a growable container or vector-of-vector.
llvm-svn: 173064
|
| |
|
|
|
|
|
| |
it reason about the current bit position, which is always independent of the
underlying cursors word size.
llvm-svn: 173063
|
| |
|
|
|
|
| |
bytes.
llvm-svn: 173062
|
| |
|
|
| |
llvm-svn: 173061
|
| |
|
|
| |
llvm-svn: 173060
|
| |
|
|
| |
llvm-svn: 173058
|
| |
|
|
|
|
|
|
|
|
| |
forming the identifier, e.g., as part of a selector or a declaration
name, don't actually deserialize any information about the
identifier. Instead, simply mark it "out-of-date" and we'll load the
the information on demand. 2% speedup on the modules testcase I'm
looking at; should also help PCH.
llvm-svn: 173056
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now only put empty blocks into a single line, if all of:
- all tokens of the structural element fit into a single line
- we're not in a control flow statement
Note that we usually don't put record definitions into a single line, as
there's usually at least one more token (the semicolon) after the
closing brace. This doesn't hold when we are in a context where there is
no semicolon, like "enum E {}".
There were some missing tests around joining lines around the corner
cases of the allowed number of columns, so this patch adds some.
llvm-svn: 173055
|
| |
|
|
|
|
|
| |
kind indicates that it can never be redeclared. Good for a 1% speedup,
and redeclaration searching drops off the profile.
llvm-svn: 173054
|
| |
|
|
|
|
|
|
|
| |
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173053
|
| |
|
|
|
|
|
|
|
| |
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173052
|
| |
|
|
|
|
|
|
|
| |
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
llvm-svn: 173051
|
| |
|
|
|
|
|
|
|
| |
DeclContext. When the DeclContext is of a kind that can only be
defined once and never updated, we limit the search to the module file
that conatins the lookup table. Provides a 15% speedup in one
modules-heavy source file.
llvm-svn: 173050
|
| |
|
|
| |
llvm-svn: 173049
|
| |
|
|
| |
llvm-svn: 173048
|
| |
|
|
|
|
|
|
|
|
| |
Before: template <template <typename T>, typename P > class X;
After: template <template <typename T>, typename P> class X;
More importantly, the token annotations for the second ">" are now computed
correctly.
llvm-svn: 173047
|
| |
|
|
| |
llvm-svn: 173046
|
| |
|
|
|
|
|
|
|
|
|
| |
We now indent:
extern "C" {
int a;
}
without additional indent inside the extern "C" block.
llvm-svn: 173045
|
| |
|
|
|
|
| |
for PowerPC native arch. With this patch, building LLVM on PowerPC native arch produces a working ASan runtime.
llvm-svn: 173044
|
| |
|
|
|
|
|
| |
When trying to merge lines, we should not touch lines that are invalid,
as we don't know how long they might be.
llvm-svn: 173043
|
| |
|
|
| |
llvm-svn: 173042
|
| |
|
|
| |
llvm-svn: 173041
|
| |
|
|
| |
llvm-svn: 173040
|
| |
|
|
|
|
|
| |
Now correctly formats:
template <> class A<int> {} a;
llvm-svn: 173038
|
| |
|
|
| |
llvm-svn: 173037
|