| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 129626
|
| |
|
|
| |
llvm-svn: 129625
|
| |
|
|
| |
llvm-svn: 129570
|
| |
|
|
| |
llvm-svn: 129567
|
| |
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129559
|
| |
|
|
|
|
|
| |
As an extension, generic selection support has been added for all
supported languages. The syntax is the same as for C1X.
llvm-svn: 129554
|
| |
|
|
|
|
| |
draft standard (N3291).
llvm-svn: 129541
|
| |
|
|
|
|
|
|
|
|
| |
convention selection (AAPCS or
AAPCS+VFP), similar to fastcall / stdcall / whatevercall seen on x86.
In particular, all library functions should always be AAPCS regardless of floating point ABI used.
llvm-svn: 129534
|
| |
|
|
|
|
| |
functionality intended.
llvm-svn: 129496
|
| |
|
|
|
|
| |
in functionality intended.
llvm-svn: 129491
|
| |
|
|
|
|
| |
generated by a regular 'load' now.
llvm-svn: 129464
|
| |
|
|
| |
llvm-svn: 129433
|
| |
|
|
|
|
|
|
|
| |
take it!
I wasn't able to get __builtin_ia32_loaddqu to transform into an unaligned
load...I'll have to look into it further.
llvm-svn: 129427
|
| |
|
|
| |
llvm-svn: 129424
|
| |
|
|
| |
llvm-svn: 129420
|
| |
|
|
|
|
|
|
|
|
| |
there is no reason to align them higher.
- This roughly matches llvm-gcc's r126913.
- It is an open question whether or not we should do this for cstring's in
general (code size vs optimization potential), for now we just match llvm-gcc
until someone wants to run some experiments.
llvm-svn: 129410
|
| |
|
|
|
|
|
|
|
| |
because the result is ignored. The particular example here is with
property l-values, but there could be all sorts of lovely casts that this
isn't safe for. Sink the check into the one case that seems to actually
be capable of honoring this.
llvm-svn: 129397
|
| |
|
|
|
|
|
|
| |
weak linkage. Also, fix a problem where global weak variables
with non-trivial initializers were getting guard variables, or at
least were checking for them and then crashing.
llvm-svn: 129342
|
| |
|
|
| |
llvm-svn: 129337
|
| |
|
|
|
|
|
|
|
| |
for __unknown_anytype resolution to destructively modify the AST. So that's
what it does now, which significantly simplifies some of the implementation.
Normal member calls work pretty cleanly now, and I added support for
propagating unknown-ness through &.
llvm-svn: 129331
|
| |
|
|
|
|
| |
calling the __cxa_bad_typeid function. Fixes PR7400.
llvm-svn: 129273
|
| |
|
|
| |
llvm-svn: 129269
|
| |
|
|
| |
llvm-svn: 129265
|
| |
|
|
|
|
|
| |
CodeGenFunction::EmitDynamicCast always return null or throw a bad_cast
exception.
llvm-svn: 129264
|
| |
|
|
| |
llvm-svn: 129262
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 129261
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
represents a dynamic cast where we know that the result is always null.
For example:
struct A {
virtual ~A();
};
struct B final : A { };
struct C { };
bool f(B* b) {
return dynamic_cast<C*>(b);
}
llvm-svn: 129256
|
| |
|
|
|
|
| |
devirtualized. Fixes the second half of PR9660.
llvm-svn: 129253
|
| |
|
|
|
|
| |
one half of PR9660.
llvm-svn: 129252
|
| |
|
|
|
|
| |
functions in the class.
llvm-svn: 129250
|
| |
|
|
|
|
|
| |
While I'm here, FileCheck-ize the ext-vector test, so we actually check
what it is generating.
llvm-svn: 129241
|
| |
|
|
|
|
| |
check is triggered appropriately. Reported on cfe-dev.
llvm-svn: 129231
|
| |
|
|
|
|
| |
pageexec@freemail.hu, tweaks by me.
llvm-svn: 129206
|
| |
|
|
| |
llvm-svn: 129202
|
| |
|
|
|
|
| |
Patch by Dave Zarzycki!
llvm-svn: 129189
|
| |
|
|
|
|
| |
to eliminate a divide-by-8. No change in functionality intended.
llvm-svn: 129180
|
| |
|
|
|
|
| |
the base offset. No change in functionality intended.
llvm-svn: 129179
|
| |
|
|
| |
llvm-svn: 129176
|
| |
|
|
|
|
| |
zero also indicates one element array.
llvm-svn: 129157
|
| |
|
|
|
|
|
| |
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to
CharUnits. No change in functionality intended.
llvm-svn: 129072
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The idea is that you can create a VarDecl with an unknown type, or a
FunctionDecl with an unknown return type, and it will still be valid to
access that object as long as you explicitly cast it at every use. I'm
still going back and forth about how I want to test this effectively, but
I wanted to go ahead and provide a skeletal implementation for the LLDB
folks' benefit and because it also improves some diagnostic goodness for
placeholder expressions.
llvm-svn: 129065
|
| |
|
|
|
|
|
|
|
| |
with debug info.]
Use CharUnits for the offsets in the VirtualBaseClassOffsetOffsetsMapTy. No
change in functionality intended.
llvm-svn: 129048
|
| |
|
|
|
|
|
|
|
| |
info.]
Use CharUnits for the offset type in the ClassNamesAndOffsets map in
dumpLayout(). No change in functionality intended.
llvm-svn: 129046
|
| |
|
|
|
|
|
| |
Use CharUnits for the offsets in the VBaseOffsetOffsetsMapTy types. No
change in functionality intended.
llvm-svn: 129043
|
| |
|
|
|
|
|
| |
pass a previously failing clang test.
// rdar://8808439
llvm-svn: 129004
|
| |
|
|
|
|
| |
intrinsic's attributes.
llvm-svn: 129000
|
| |
|
|
| |
llvm-svn: 128957
|
| |
|
|
|
|
|
| |
As a result, I had to remove a c++ version of a clang
test which requires more scrutiny on my part.
llvm-svn: 128950
|
| |
|
|
| |
llvm-svn: 128948
|
| |
|
|
|
|
|
| |
targets) when load/store results in multiple instructions.
// rdar://8808439
llvm-svn: 128937
|