| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
for (id foo in[self getStuffFor : bla]) {
}
Now:
for (id foo in [self getStuffFor:bla]) {
}
"in" is treated as loop keyword if the line starts with "for", and as a
regular identifier else. To check for "in", its IdentifierInfo is handed
through a few layers.
llvm-svn: 174889
|
| |
|
|
| |
llvm-svn: 174888
|
| |
|
|
|
|
|
| |
Respect REAL(scanf) return value and don't report memory stores that
could potentially happen, but did not.
llvm-svn: 174887
|
| |
|
|
|
|
|
|
|
|
| |
This flag makes asan use a small (<2G) offset for 64-bit asan shadow mapping.
On x86_64 this saves us a register, thus achieving ~2/3 of the
zero-base-offset's benefits in both performance and code size.
Thanks Jakub Jelinek for the idea.
llvm-svn: 174886
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This does two things:
It removes a call to abs() which may have "long long" parameter on Windows,
which is not necessarily available in C++03.
It also corrects the signedness of Amount, which was relying on
implementation-defined conversions previously.
Code was already tested (albeit in an implemnetation defined way) so no extra
tests.
llvm-svn: 174885
|
| |
|
|
| |
llvm-svn: 174884
|
| |
|
|
| |
llvm-svn: 174883
|
| |
|
|
|
|
|
|
|
| |
Handle %a in cases when it is unambiguous.
Handle %m.
Patch by Jakub Jelinek.
llvm-svn: 174882
|
| |
|
|
| |
llvm-svn: 174881
|
| |
|
|
|
|
| |
You can run tests with -debug instead now.
llvm-svn: 174880
|
| |
|
|
|
|
|
|
| |
In google style, trailing comments are separated by two spaces. This
patch fixes the counting of these spaces and prevents clang-format from
creating a line with 81 columns.
llvm-svn: 174879
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now correctly formats:
#define A \
\
b;
to
#define A b;
Added the state whether an unwrapped line is a macro to the debug
output.
llvm-svn: 174878
|
| |
|
|
|
|
|
|
| |
Previous code had a confusing comment which was mostly an implementation
detail. This condition corresponds to "lsb up to register width" and "width not
ridiculous".
llvm-svn: 174877
|
| |
|
|
|
|
|
|
| |
Build system setup for MSan lit tests (build with freshly-built clang, run,
check output) - a nearly exact copy from ASan.
First 2 lit tests for MSan.
llvm-svn: 174876
|
| |
|
|
| |
llvm-svn: 174875
|
| |
|
|
|
|
|
| |
This allows llvm-dwarfdump to handle the relocations needed, at least
for LLVM-produced code.
llvm-svn: 174874
|
| |
|
|
|
|
| |
This broke on Windows, presumably due to interleaving of output streams.
llvm-svn: 174873
|
| |
|
|
|
|
| |
CLooG is already optional in the autoconf build.
llvm-svn: 174872
|
| |
|
|
|
|
|
|
|
| |
This gives a DiagnosticType to all AsmOperands in sight. This replaces all
"invalid operand" diagnostics with something more specific. The messages given
should still be sufficiently vague that they're not usually actively misleading
when LLVM guesses your instruction incorrectly.
llvm-svn: 174871
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MachineBasicBlock::SplitCriticalEdge().
This is currently a bit hairier than it needs to be, since depending on where the
split block resides the end ListEntry of the split block may be the end ListEntry
of the original block or a new entry. Some changes to the SlotIndexes updating
should make it possible to eliminate the two cases here.
This also isn't as optimized as it could be. In the future Liveinterval should
probably get a flag that indicates whether the LiveInterval is within a single
basic block. We could ignore all such intervals when splitting an edge.
llvm-svn: 174870
|
| |
|
|
|
|
| |
really trying to avoid piping SlotIndexes through to RemoveBranch() and friends.
llvm-svn: 174869
|
| |
|
|
|
|
| |
particular, holes were being left between two blocks after splitting an edge.
llvm-svn: 174868
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This emits the attribute groups that are used by the functions. (It currently
doesn't print out return type or parameter attributes within attribute groups.)
Note: The functions still retrieve their attributes from the "old" bitcode
format (using the deprecated 'Raw()' method). This means that string attributes
within an attribute group will not show up during a disassembly. This will be
addressed in a future commit.
llvm-svn: 174867
|
| |
|
|
| |
llvm-svn: 174866
|
| |
|
|
| |
llvm-svn: 174865
|
| |
|
|
| |
llvm-svn: 174864
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
operatorvoid*();
operator vector< A< A>>();
After:
operator void *();
operator vector<A<A> >();
llvm-svn: 174863
|
| |
|
|
| |
llvm-svn: 174862
|
| |
|
|
| |
llvm-svn: 174861
|
| |
|
|
|
|
|
|
|
| |
This reverts my commit 171047. Now that I've removed my misguided attempt to
support backend warnings, these diagnostics are only about inline assembly.
It would take quite a bit more work to generalize them properly, so I'm
just reverting this.
llvm-svn: 174860
|
| |
|
|
|
|
|
|
|
| |
This removes the last of the linear searches over ranges of std::multimap
iterators, giving a 7% speedup on the doduc.bc input from PR15222.
No functionality change intended.
llvm-svn: 174859
|
| |
|
|
|
|
|
|
|
| |
This is another cleanup aimed at eliminating linear searches
in ranges of std::multimap.
No functionality change intended.
llvm-svn: 174858
|
| |
|
|
|
|
|
|
|
|
| |
Profiling suggests that getInstructionTypes is performance-sensitive,
this cleans up some double-casting in that function in favor of
using dyn_cast.
No functionality change intended.
llvm-svn: 174857
|
| |
|
|
|
|
|
|
|
|
|
| |
By itself, this does not have much of an effect, but only because in the default
configuration the full cycle checks are used only for small problem sizes.
This is part of a general cleanup of uses of iteration over std::multimap
ranges only for the purpose of checking membership.
No functionality change intended.
llvm-svn: 174856
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
function is successfully handled by fast-isel. That's because function
arguments are *always* handled by SDISel. Introduce FastLowerArguments to
allow each target to provide hook to handle formal argument lowering.
As a proof-of-concept, add ARMFastIsel::FastLowerArguments to handle
functions with 4 or fewer scalar integer (i8, i16, or i32) arguments. It
completely eliminates the need for SDISel for trivial functions.
rdar://13163905
llvm-svn: 174855
|
| |
|
|
| |
llvm-svn: 174854
|
| |
|
|
|
|
|
|
| |
I have some uncommitted changes to the cast code that catch this sort of thing
at compile-time but I still need to do some other cleanup before I can enable
it.
llvm-svn: 174853
|
| |
|
|
| |
llvm-svn: 174852
|
| |
|
|
|
|
|
|
| |
support for updating SlotIndexes to MachineBasicBlock::SplitCriticalEdge(). This
calls renumberIndexes() every time; it should be improved to only renumber
locally.
llvm-svn: 174851
|
| |
|
|
|
|
| |
both LiveVariables and LiveIntervals.
llvm-svn: 174850
|
| |
|
|
|
|
|
|
|
| |
This reads the attribute groups. It currently doesn't do anything with them.
NOTE: In the commit to the bitcode writer, the format *may* change in the near
future. Which means that this code would also change.
llvm-svn: 174849
|
| |
|
|
| |
llvm-svn: 174848
|
| |
|
|
| |
llvm-svn: 174847
|
| |
|
|
| |
llvm-svn: 174846
|
| |
|
|
|
|
|
|
|
| |
This is some initial code for emitting the attribute groups into the bitcode.
NOTE: This format *may* change! Do not rely upon the attribute groups' bitcode
not changing.
llvm-svn: 174845
|
| |
|
|
|
|
|
| |
Attribute groups are essentially all AttributeSets which are used by the
program. Enumerate them here.
llvm-svn: 174844
|
| |
|
|
|
|
|
| |
The more general code for formatting ObjC method exprs does this and more,
it's no longer necessary to special-case this. No behavior change.
llvm-svn: 174843
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it turns out, this already works reasonably well.
This example from http://clang.llvm.org/docs/ObjectiveCLiterals.html
NSDictionary *dictionary = @{
@"name" : NSUserName(),
@"date" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo]
};
is formatted like
NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo] };
There's already a FIXME in NestedStaticInitializers about supporting one
initializer per line, which is really all that's missing here too.
llvm-svn: 174842
|
| |
|
|
|
|
| |
(From http://clang.llvm.org/docs/ObjectiveCLiterals.html.)
llvm-svn: 174841
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
@{
foo:
bar
}
;
Now:
@{ foo : bar };
parseBracedList() already does the right thing from an UnwrappedLineParser
perspective, so check for "@{" in all loops that process constructs that can
contain expressions and call parseBracedList() if found.
llvm-svn: 174840
|