| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
unit's filename for debug info entries.
llvm-svn: 125672
|
| |
|
|
| |
llvm-svn: 125662
|
| |
|
|
| |
llvm-svn: 125661
|
| |
|
|
|
|
|
|
| |
constructor or destructor.
This patch rewrites r125142.
llvm-svn: 125632
|
| |
|
|
|
|
|
|
| |
Nobody ever gave me a clear reason for why we were doing this, and
now it's apparently causing serious problems, so if *not* having this
causes problems, we get to solve them the right way this time.
llvm-svn: 125627
|
| |
|
|
|
|
|
|
|
| |
reference.
C struct arguments do not need this adjustment.
This fixes 7 failures in callfuncs.exp from gdb testsuite.
llvm-svn: 125615
|
| |
|
|
| |
llvm-svn: 125605
|
| |
|
|
|
|
| |
ends up in the text segment. // rdar://8825235.
llvm-svn: 125585
|
| |
|
|
|
|
| |
"used". Fixes <rdar://problem/8684363>.
llvm-svn: 125579
|
| |
|
|
|
|
|
|
|
| |
- Have CGM precompute a number of commonly-used types
- Have CGF copy that during initialization instead of recomputing them
- Use TBAA info when initializing a parameter variable
- Refactor the scalar ++/-- code
llvm-svn: 125562
|
| |
|
|
|
|
|
|
|
|
|
|
| |
a zero constant for a complete class. rdar://problem/8424975
To make this happen, track the field indexes for virtual bases
in the complete object. I'm curious whether we might be better
off making CGRecordLayoutBuilder *much* more reliant on
ASTRecordLayout; we're currently duplicating an awful lot of the ABI
layout logic.
llvm-svn: 125555
|
| |
|
|
|
|
| |
functionality intended.
llvm-svn: 125549
|
| |
|
|
| |
llvm-svn: 125538
|
| |
|
|
|
|
| |
builders unhappy.
llvm-svn: 125505
|
| |
|
|
| |
llvm-svn: 125488
|
| |
|
|
|
|
| |
FP_CONTRACT pragmas. Patch originally by ARM.
llvm-svn: 125475
|
| |
|
|
|
|
|
| |
Stmt::const_child_range, then make a bunch of places use them instead
of the individual iterator accessors.
llvm-svn: 125450
|
| |
|
|
|
|
| |
destruction in the destructor-aliases logic. Fixes PR 9197.
llvm-svn: 125447
|
| |
|
|
|
|
|
| |
I also sorted the tools/driver dependencies since their order no
longer matters.
llvm-svn: 125417
|
| |
|
|
| |
llvm-svn: 125360
|
| |
|
|
|
|
|
| |
unnecessary calls to RoundUpToAlignment. No changes to functionality
intended.
llvm-svn: 125356
|
| |
|
|
|
|
|
| |
CharUnits to sizes in bits, and use it to tidy up the places where the
conversion was done explicitly.
llvm-svn: 125332
|
| |
|
|
| |
llvm-svn: 125321
|
| |
|
|
| |
llvm-svn: 125293
|
| |
|
|
| |
llvm-svn: 125289
|
| |
|
|
| |
llvm-svn: 125282
|
| |
|
|
|
|
| |
character units.
llvm-svn: 125281
|
| |
|
|
|
|
| |
r125156.
llvm-svn: 125280
|
| |
|
|
| |
llvm-svn: 125275
|
| |
|
|
|
|
| |
this.
llvm-svn: 125249
|
| |
|
|
| |
llvm-svn: 125210
|
| |
|
|
| |
llvm-svn: 125201
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there were only three virtual methods of any significance.
The primary way to grab child iterators now is with
Stmt::child_range children();
Stmt::const_child_range children() const;
where a child_range is just a std::pair of iterators suitable for
being llvm::tie'd to some locals. I've left the old child_begin()
and child_end() accessors in place, but it's probably a substantial
penalty to grab the iterators individually now, since the
switch-based dispatch is kindof inherently slower than vtable
dispatch. Grabbing them together is probably a slight win over the
status quo, although of course we could've achieved that with vtables, too.
I also reclassified SwitchCase (correctly) as an abstract Stmt
class, which (as the first such class that wasn't an Expr subclass)
required some fiddling in a few places.
There are somewhat gross metaprogramming hooks in place to ensure
that new statements/expressions continue to implement
getSourceRange() and children(). I had to work around a recent clang
bug; dgregor actually fixed it already, but I didn't want to
introduce a selfhosting dependency on ToT.
llvm-svn: 125183
|
| |
|
|
| |
llvm-svn: 125163
|
| |
|
|
|
|
|
|
|
|
| |
and we later find the definition, make sure that we add the definition
(not the declaration) to the list of deferred definitions to
emit. Fixes PR8864.
Thanks to Nick Lewycky for testing this patch out
llvm-svn: 125157
|
| |
|
|
|
|
| |
functionality intended.
llvm-svn: 125156
|
| |
|
|
|
|
|
|
| |
destructor or copy constructor than let debug info know about it.
Radar 8945514.
llvm-svn: 125142
|
| |
|
|
|
|
| |
setter and getter types mismatch. // rdar://8966864
llvm-svn: 125125
|
| |
|
|
|
|
|
|
| |
Block{Function,Module} base class. Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085
|
| |
|
|
|
|
| |
mutable fields and with trivial destructors and copy constructors.
llvm-svn: 125073
|
| |
|
|
|
|
| |
functionality intended.
llvm-svn: 125069
|
| |
|
|
| |
llvm-svn: 125021
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- BlockDeclRefExprs always store VarDecls
- BDREs no longer store copy expressions
- BlockDecls now store a list of captured variables, information about
how they're captured, and a copy expression if necessary
With that in hand, change IR generation to use the captures data in
blocks instead of walking the block independently.
Additionally, optimize block layout by emitting fields in descending
alignment order, with a heuristic for filling in words when alignment
of the end of the block header is insufficient for the most aligned
field.
llvm-svn: 125005
|
| |
|
|
| |
llvm-svn: 125000
|
| |
|
|
|
|
| |
linkage, we should change its linkage instead of asserting.
llvm-svn: 124986
|
| |
|
|
|
|
| |
linkage so devirtualized function calls can also be de-thunked.
llvm-svn: 124984
|
| |
|
|
| |
llvm-svn: 124983
|
| |
|
|
|
|
|
|
| |
GetOrCreateLLVMFunction so that we
won't assert when building a thunk for an implicit virtual member function that is not marked used.
llvm-svn: 124967
|
| |
|
|
|
|
| |
We now emit everything except unused implicit virtual member functions when building the vtable.
llvm-svn: 124935
|
| |
|
|
| |
llvm-svn: 124837
|