| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
for a subprogram DIE.
llvm-svn: 204949
|
|
|
|
|
|
|
|
| |
while I investigate as it seems to be causing issues with the gdb bot.
This reverts commit r204874.
llvm-svn: 204896
|
|
|
|
|
|
|
|
| |
instead of rolling an inefficient version of the function. This
changes some order of emission of metadata nodes, fix up those
testcases and make them more flexible to some changes.
llvm-svn: 204874
|
|
|
|
|
|
|
|
| |
location that the next call emitLocation() would default to. Otherwise
setLocation() may wrongly believe that the current source file didn't
change, when in fact it did.
llvm-svn: 204517
|
|
|
|
|
|
| |
iterator_range captures(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203958
|
|
|
|
|
|
| |
with iterator_range specializations(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203938
|
|
|
|
|
|
| |
for clarity.
llvm-svn: 203835
|
|
|
|
|
|
| |
with iterator_range props(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203830
|
|
|
|
|
|
| |
iterator_range bases(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203803
|
|
|
|
|
|
| |
iterator_range fields(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203355
|
|
|
|
|
|
| |
with iterator_range enumerators(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203353
|
|
|
|
|
|
| |
iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203278
|
|
|
|
|
|
| |
with iterator_range params(). Updating all of the usages of the iterators with range-based for loops.
llvm-svn: 203255
|
|
|
|
|
|
| |
iterator_range redecls(). Updating all of the usages of the iterators with range-based for loops, which allows the begin/end forms to be removed entirely.
llvm-svn: 203179
|
|
|
|
|
|
| |
types aren't needlessly built during -gmlt
llvm-svn: 202900
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fails an "isa<> used with null pointer" assert during a clang-cl
self-host on Windows. This was caused by r202769, and I'm currently
reducing a test case.
Reviewers: dblaikie
Differential Revision: http://llvm-reviews.chandlerc.com/D2944
llvm-svn: 202888
|
|
|
|
|
|
|
|
|
| |
explicit template instantiation declarations
* detect out of line definitions correctly
* detect member function explicit specializations correctly
llvm-svn: 202779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
explicit instantiation declaration (& always emit such a type when there's an explicit instantiation definition)
We should only have this optimization fire when the explicit
instantiation definition would cause at least one member function to be
emitted, thus ensuring that even a compiler not performing this
optimization would still emit the full type information elsewhere.
But we should also pessimize output still by always emitting the
definition when the explicit instantiation definition appears so that at
some point in the future we can depend on that information even when no
code had to be emitted in that TU. (this shouldn't happen very often,
since people mostly use explicit spec decl/defs to reduce code size -
but perhaps one day they could use it to explicitly reduce debug info
size too)
This was worth about 2% for Clang and LLVM - so not a huge win, but a
win. It looks really great for simple STL programs (include <string> and
just declare a string - 14k -> 1.4k of .dwo)
llvm-svn: 202769
|
|
|
|
|
|
| |
Create lexical blocks with discriminator value 0 by default.
llvm-svn: 202737
|
|
|
|
| |
llvm-svn: 202639
|
|
|
|
|
|
|
| |
generation purposes.
Paired with a commit to llvm.
llvm-svn: 202334
|
|
|
|
| |
llvm-svn: 202219
|
|
|
|
| |
llvm-svn: 202208
|
|
|
|
|
|
|
|
| |
Paired commit with LLVM.
rdar://problem/13690847
llvm-svn: 202185
|
|
|
|
|
|
|
|
| |
is already built.
No functional change intended.
llvm-svn: 201602
|
|
|
|
|
|
|
|
| |
not-yet-completed templated types. getTypeSize() needs a complete type.
rdar://problem/15931354
llvm-svn: 200797
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A return type is the declared or deduced part of the function type specified in
the declaration.
A result type is the (potentially adjusted) type of the value of an expression
that calls the function.
Rule of thumb:
* Declarations have return types and parameters.
* Expressions have result types and arguments.
llvm-svn: 200082
|
|
|
|
|
|
|
|
|
| |
of the current compilation unit.
As a side effect this enables many more LTO uniquing opportunities.
This reapplies r199757 with a better testcase.
llvm-svn: 199760
|
|
|
|
| |
llvm-svn: 199758
|
|
|
|
|
|
|
|
|
| |
of the current compilation unit.
As a side effect this enables many more LTO uniquing opportunities.
rdar://problem/15851206
llvm-svn: 199757
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a perennial source of confusion in the clang type system: Declarations and
function prototypes have parameters to which arguments are supplied, so calling
these 'arguments' was a stretch even in C mode, let alone C++ where default
arguments, templates and overloading make the distinction important to get
right.
Readability win across the board, especially in the casting, ADL and
overloading implementations which make a lot more sense at a glance now.
Will keep an eye on the builders and update dependent projects shortly.
No functional change.
llvm-svn: 199686
|
|
|
|
|
|
|
|
|
| |
class and use it pervasively to restore debug locations.
Fixes an interaction between cleanup and EH that caused the location
to not be restored properly after emitting a landing pad.
rdar://problem/15208190
llvm-svn: 199444
|
|
|
|
|
|
|
|
| |
within"
This reverts commit r198461.
llvm-svn: 198714
|
|
|
|
|
|
| |
This reverts commit 198699 so we can get a cleaner patch.
llvm-svn: 198713
|
|
|
|
|
|
|
|
|
| |
C and C++ don't emit an extra lexical scope for the compound statement
that is the body of an Objective-C method.
rdar://problem/15010825
llvm-svn: 198699
|
|
|
|
| |
llvm-svn: 198670
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It controls everything that -flimit-debug-info used to, plus the
vtable type optimization. The old -fno-limit-debug-info option is now an
alias to -fstandalone-debug and vice versa.
Standalone is the default on Darwin until dtrace is updated to work with
non-standalone debug info (rdar://problem/15758808).
Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind
because NoStandaloneDebugInfo sounded even more confusing.
llvm-svn: 198655
|
|
|
|
|
|
|
|
|
| |
the lexical block formed by the compound statement that is the function
body.
rdar://problem/15010825
llvm-svn: 198461
|
|
|
|
| |
llvm-svn: 197916
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template instantiations, etc) in the list of members of a structure.
These members will still be lazily added to the relevant DWARF DIEs in
LLVM but when enumerating the members they will not appear. This allows
DWARF type units to be more consistent - the type unit will never
contain these special members (so all instances of the type should have
the same DIEs without some having some special members and others having
others) and the special members will be added to the skeletal
declaration that appears in the relevant compile_unit.
llvm-svn: 197844
|
|
|
|
|
|
| |
rdar://problem/15678916.
llvm-svn: 197641
|
|
|
|
|
|
|
|
| |
member functions. Paired commit with LLVM.
rdar://problem/15356637
llvm-svn: 197612
|
|
|
|
|
|
|
| |
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities in nearby lines.
llvm-svn: 196466
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In general, this type node can be used to represent any type adjustment
that occurs implicitly without losing type sugar. The immediate use of
this is to adjust the calling conventions of member function pointer
types without breaking template instantiation.
Fixes PR17996.
Reviewers: rsmith
Differential Revision: http://llvm-reviews.chandlerc.com/D2332
llvm-svn: 196451
|
|
|
|
|
|
| |
r195055.
llvm-svn: 195056
|
|
|
|
| |
llvm-svn: 194082
|
|
|
|
| |
llvm-svn: 193116
|
|
|
|
|
|
| |
function, not the context of the context.
llvm-svn: 192862
|
|
|
|
| |
llvm-svn: 192736
|
|
|
|
| |
llvm-svn: 192473
|