| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
changes.
llvm-svn: 206590
|
| |
|
|
|
|
| |
Another AAPCS bug, part of PR19432.
llvm-svn: 206580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The frontend option -fno-optimize-sibling-calls resolves to -cc1's
-mdisable-tail-calls, which is passed to the TargetMachine in the
backend. PassManagerBuilder was adding the -tailcallelim pass anyway.
Use a new DisableTailCalls option in PassManagerBuilder to disable tail
calls harder.
Requires the matching commit in LLVM that adds DisableTailCalls.
<rdar://problem/16050591>
llvm-svn: 206543
|
| |
|
|
|
|
|
| |
This was probably a benign bug, since nobody would look at the vbtable
slots that we were filling in.
llvm-svn: 206508
|
| |
|
|
|
|
|
|
| |
inheritance cases
Reviewed at http://reviews.llvm.org/D3410
llvm-svn: 206504
|
| |
|
|
|
|
| |
more const-correctness, and now uses some range-based for loops. No functional changes intended.
llvm-svn: 206503
|
| |
|
|
| |
llvm-svn: 206493
|
| |
|
|
|
|
| |
const-correct. No functional changes intended.
llvm-svn: 206491
|
| |
|
|
|
|
| |
thanks!
llvm-svn: 206483
|
| |
|
|
|
|
|
| |
Getting a pointer into a struct at a non-zero offset would try to
use the default address space.
llvm-svn: 206478
|
| |
|
|
|
|
| |
thanks!
llvm-svn: 206474
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch ensures that the lines of the block comments retain relative
column offsets. In order to do this WhitespaceManager::Changes representing
continuation of block comments keep a pointer on the change representing the
whitespace change before the block comment, and a relative column offset to this
change, so that the correct column can be reconstructed at the end of alignment
process.
Fixes http://llvm.org/PR19325
Reviewers: djasper
Reviewed By: djasper
CC: cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D3408
llvm-svn: 206472
|
| |
|
|
|
|
| |
exitCFG function instead of the destructor to ensure proper pairing. This allows reuse of the builder without creating a memory leak.
llvm-svn: 206471
|
| |
|
|
|
|
| |
tests.
llvm-svn: 206463
|
| |
|
|
|
|
| |
missing.
llvm-svn: 206462
|
| |
|
|
|
|
| |
compatibility.
llvm-svn: 206461
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With BinPackParameters=false and Cpp11BracedListStyle=true (i.e. mostly
for Chromium):
Before:
const Aaaaaa aaaaa = {aaaaa, bbbbb, ccccc, ddddd, eeeee, ffffff,
ggggg, hhhhhh, iiiiii, jjjjjj, kkkkkk};
After:
const Aaaaaa aaaaa = {aaaaa,
bbbbb,
ccccc,
ddddd,
eeeee,
ffffff,
ggggg,
hhhhhh,
iiiiii,
jjjjjj,
kkkkkk};
This fixes llvm.org/PR19359. I am not sure we'll want this in all cases
in the long run, but I'll guess we'll get feedback on that.
llvm-svn: 206458
|
| |
|
|
|
|
|
|
| |
Also fix a few other vtordisp-related bugs.
Reviewed at http://reviews.llvm.org/D3400
llvm-svn: 206457
|
| |
|
|
|
|
|
|
|
|
| |
My first attempt to make sure HFAs were contiguous was in the block dealing
with padding registers, which meant it only triggered on the first stack-based
HFA. This should extend it to the rest as well.
Another part of PR19432.
llvm-svn: 206456
|
| |
|
|
| |
llvm-svn: 206452
|
| |
|
|
|
|
|
|
| |
definition.
clang\lib\Sema\SemaTemplate.cpp(1826) : error C2064: term does not evaluate to a function taking 1 arguments
llvm-svn: 206451
|
| |
|
|
|
|
|
| |
that looks like it might be an explicit specialization, don't recover as an
explicit specialization (bypassing the check that would reject that).
llvm-svn: 206444
|
| |
|
|
|
|
| |
template-id after its scope specifier into a single place.
llvm-svn: 206442
|
| |
|
|
|
|
|
| |
we'll already have issued the relevant diagnostic when we saw the declaration
of the primary template.
llvm-svn: 206441
|
| |
|
|
|
|
|
|
| |
Itanium ABI in 2.9.2 Place of Emission.
Differential Revision: http://reviews.llvm.org/D2750
llvm-svn: 206439
|
| |
|
|
|
|
|
| |
when building the candidate set, rather than trying to contort name lookup into
handling this.
llvm-svn: 206436
|
| |
|
|
|
|
| |
non-member overloaded operators can be found when no operand is of class type. We used to fail to implement this rule if there was an operand of dependent type.
llvm-svn: 206435
|
| |
|
|
|
|
| |
rdar://problem/16636569.
llvm-svn: 206434
|
| |
|
|
|
|
| |
Don't install a file using the legacy spelling.
llvm-svn: 206431
|
| |
|
|
|
|
|
|
|
|
|
|
| |
specializations collect all arguments and not just the ones from the
class template partial specialization from which this class template
specialization was instantiated. The debug info does not represent the
partial specialization otherwise and so specialized parameters would
go missing.
rdar://problem/16636569.
llvm-svn: 206430
|
| |
|
|
| |
llvm-svn: 206418
|
| |
|
|
|
|
| |
ARM, MIPS and i386 ABIs.
llvm-svn: 206416
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit r206413.
This was proposed before, but it's not clear if this is really a good
idea:
http://reviews.llvm.org/D3034
llvm-svn: 206415
|
| |
|
|
|
|
|
| |
If someone on Linux asks for -fms-extensions, there's no reason not to
define the feature test macros that MSVC defines.
llvm-svn: 206413
|
| |
|
|
| |
llvm-svn: 206411
|
| |
|
|
|
|
|
|
| |
subclasses do not call [super init] on their initializers.
Part of rdar://16568441
llvm-svn: 206410
|
| |
|
|
|
|
|
|
|
|
| |
the class
introduces new initializers.
Part of rdar://16568441
llvm-svn: 206409
|
| |
|
|
|
|
|
| |
to conditinalize on 64bit length in a generated meta-data.
// rdar://16489050
llvm-svn: 206402
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds a new flag -Rpass=. The flag indicates the name
of the optimization pass that should emit remarks stating when it
made a transformation to the code.
This implements the design I proposed in:
https://docs.google.com/document/d/1FYUatSjZZO-zmFBxjOiuOzAy9mhHA8hqdvklZv68WuQ/edit?usp=sharing
Other changes:
- Add DiagnosticIDs::isRemark(). Use it in printDiagnosticOptions to
print "-R" instead of "-W" in the diagnostic message.
- In BackendConsumer::OptimizationRemarkHandler, get a SourceLocation
object out of the file name, line and column number. Use that location
in the call to Diags.Report().
- When -Rpass is used without debug info a note is emitted alerting
the user that they need to use -gline-tables-only -gcolumn-info to
get this information.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3226
llvm-svn: 206401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The function hash should change when control flow changes. This patch
hashes the type of each AST node that affects counters, rather than just
counting how many there are. These types are combined into a small
enumerator that currently has 16 values.
The new hash algorithm packs the enums for consecutively visited types
into a `uint64_t`. In order to save space for new types, the types are
assumed to be 6-bit values (instead of 4-bit). In order to minimize
overhead for functions with little control flow, the `uint64_t` is used
directly as a hash if it never fills up; if it does, it's passed through
an MD5 context.
<rdar://problem/16435801>
llvm-svn: 206397
|
| |
|
|
| |
llvm-svn: 206395
|
| |
|
|
|
|
| |
pass -target-feature +neon.
llvm-svn: 206394
|
| |
|
|
| |
llvm-svn: 206390
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is similar to how we treat assignments and seems to be generally
desirable.
Before:
llvm::errs() << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaa);
After:
llvm::errs() << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaa);
llvm-svn: 206384
|
| |
|
|
|
|
| |
No behavioural change intended.
llvm-svn: 206364
|
| |
|
|
|
|
|
|
| |
implicit casts in C++.
Fixes <rdar://problem/16631033>.
llvm-svn: 206360
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At one point, -fexceptions was a synonym for -fcxx-exceptions. While
the driver options still enables cxx-exceptions by default, the cc1
flag is purely about exception tables and this doesn't account for
objective C exceptions. Because of this, checking for the
cxx_exceptions feature in objective C++ often gives the wrong answer.
The cxx_exceptions feature should be based on the -fcxx-exceptions cc1
flag, not -fexceptions. Furthermore, at some point the tests were
changed to use cc1 even though they were testing the driver behaviour.
We're better off testing both the driver and cc1 here.
llvm-svn: 206352
|
| |
|
|
|
|
| |
relative to the module.map file.
llvm-svn: 206342
|
| |
|
|
|
|
|
|
| |
Warn on std::abs() with unsigned argument.
Suggest std::abs as replacement for the C absolute value functions.
Suggest C++ headers if the specific std::abs overload is not found.
llvm-svn: 206340
|
| |
|
|
| |
llvm-svn: 206339
|