| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
emit call results into potentially aliased slots. This allows us
to properly mark indirect return slots as noalias, at the cost
of requiring an extra memcpy when assigning an aggregate call
result into a l-value. It also brings us into compliance with
the x86-64 ABI.
llvm-svn: 138599
|
| |
|
|
|
|
|
| |
creators to tell us whether something needs GC barriers.
No functionality change.
llvm-svn: 138581
|
| |
|
|
| |
llvm-svn: 137126
|
| |
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
| |
|
|
| |
llvm-svn: 135370
|
| |
|
|
| |
llvm-svn: 135036
|
| |
|
|
|
|
| |
partial destruction.
llvm-svn: 135033
|
| |
|
|
| |
llvm-svn: 135029
|
| |
|
|
|
|
| |
of flags. No functionality change.
llvm-svn: 134997
|
| |
|
|
|
|
| |
and kill a lot of redundant code.
llvm-svn: 134988
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Emit default-initialization of arrays that were partially initialized
with initializer lists with a loop, rather than emitting the default
initializer N times;
- support destroying VLAs of non-trivial type, although this is not
yet exposed to users; and
- support the partial destruction of arrays initialized with
initializer lists when an initializer throws an exception.
llvm-svn: 134784
|
| |
|
|
|
|
| |
by removing the redundant type parameter.
llvm-svn: 133860
|
| |
|
|
| |
llvm-svn: 133144
|
| |
|
|
|
|
|
|
|
|
| |
Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103
|
| |
|
|
| |
llvm-svn: 132878
|
| |
|
|
|
|
|
| |
optimization. Make sure to require a vtable when trying to get the address
of a VTT, otherwise we would never end up emitting the VTT.
llvm-svn: 131400
|
| |
|
|
| |
llvm-svn: 131385
|
| |
|
|
| |
llvm-svn: 131372
|
| |
|
|
|
|
|
|
|
|
| |
that the destructor body is trivial and that all member variables also have either
trivial destructors or trivial destructor bodies, we don't need to initialize the
vtable pointers since no virtual member functions will be called on the destructor.
Fixes PR9181.
llvm-svn: 131368
|
| |
|
|
|
|
| |
function in CGClass.cpp
llvm-svn: 131075
|
| |
|
|
|
|
|
|
|
|
| |
the body of a delegating constructor call.
This means that the delegating constructor implementation should be
complete and correct, though there are some rough edges (diagnostic
quality with the cycle detection and using a deleted destructor).
llvm-svn: 130803
|
| |
|
|
|
|
| |
Material bugfixes to come this afternoon.
llvm-svn: 130782
|
| |
|
|
|
|
| |
change.
llvm-svn: 130699
|
| |
|
|
|
|
|
|
|
|
| |
As far as I know, this implementation is complete but might be missing a
few optimizations. Exceptions and virtual bases are handled correctly.
Because I'm an optimist, the web page has appropriately been updated. If
I'm wrong, feel free to downgrade its support categories.
llvm-svn: 130642
|
| |
|
|
|
|
|
|
|
|
| |
make sure to mark the destructor. This normally isn't required,
because the destructor should have been marked as part of the
declaration of the local, but it's necessary when the variable
is a parameter because it's the call sites that are responsible
for those destructors.
llvm-svn: 130372
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 129261
|
| |
|
|
|
|
|
| |
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
CharUnits. No change in functionality intended.
llvm-svn: 129072
|
| |
|
|
| |
llvm-svn: 128842
|
| |
|
|
|
|
| |
CharUnits. No change in functionality intended.
llvm-svn: 128776
|
| |
|
|
|
|
| |
PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128538
|
| |
|
|
|
|
| |
change in functionality intended.
llvm-svn: 128190
|
| |
|
|
|
|
| |
CharUnits. No change in functionality intended.
llvm-svn: 128129
|
| |
|
|
|
|
| |
CharUnits. No change in functionality intended.
llvm-svn: 128126
|
| |
|
|
|
|
| |
CharUnits. No change in functionality intended.
llvm-svn: 128060
|
| |
|
|
|
|
| |
change in functionality intended.
llvm-svn: 128050
|
| |
|
|
| |
llvm-svn: 127494
|
| |
|
|
|
|
|
|
|
|
| |
simplify the logic of initializing function parameters so that we don't need
both a variable declaration and a type in FunctionArgList. This also means
that we need to propagate the CGFunctionInfo down in a lot of places rather
than recalculating it from the FAL. There's more we can do to eliminate
redundancy here, and I've left FIXMEs behind to do it.
llvm-svn: 127314
|
| |
|
|
| |
llvm-svn: 126598
|
| |
|
|
|
|
| |
-flimit-debug-info is enabled.
llvm-svn: 126246
|
| |
|
|
| |
llvm-svn: 126062
|
| |
|
|
|
|
|
|
| |
Block{Function,Module} base class. Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085
|
| |
|
|
| |
llvm-svn: 124807
|
| |
|
|
| |
llvm-svn: 124757
|
| |
|
|
| |
llvm-svn: 124701
|
| |
|
|
|
|
| |
first get the address of the VTT, and then pass it to EmitVTTDefinition.
llvm-svn: 124539
|
| |
|
|
|
|
| |
get the vbase offset from the vtable if the derived class is marked final.
llvm-svn: 124523
|
| |
|
|
|
|
|
| |
more accurate, and makes it make sense for it to hold a delegating constructor
call.
llvm-svn: 123084
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used in a constructor initializer list:
struct X {
X() : au_i1(123) {}
union {
int au_i1;
float au_f1;
};
};
clang will now deal with au_i1 explicitly as an IndirectFieldDecl.
llvm-svn: 120900
|
| |
|
|
|
|
|
|
| |
copy helper function and dtor of copied cxx objects
in dispose helper functions. __block variables
TBD next.
llvm-svn: 119011
|
| |
|
|
|
|
| |
getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.
llvm-svn: 117881
|