| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
in release-assert builds. For automatic variables, explicitly set
a name with setName that does not make a temporary std::string.
This speeds up -emit-llvm-only -disable-free on PR3810 by 4.6%
llvm-svn: 67459
|
| |
|
|
|
|
| |
copy_helpers and dispose_helpers as necessary for them.
llvm-svn: 67453
|
| |
|
|
| |
llvm-svn: 67406
|
| |
|
|
| |
llvm-svn: 66343
|
| |
|
|
| |
llvm-svn: 66322
|
| |
|
|
| |
llvm-svn: 66257
|
| |
|
|
| |
llvm-svn: 66247
|
| |
|
|
| |
llvm-svn: 66243
|
| |
|
|
| |
llvm-svn: 66241
|
| |
|
|
| |
llvm-svn: 66231
|
| |
|
|
|
|
|
|
| |
- For one thing, this adds unneeded overhead; for another, this
routine can be used to emit unnamed decls which we shouldn't try to
mangle.
llvm-svn: 66212
|
| |
|
|
| |
llvm-svn: 66159
|
| |
|
|
| |
llvm-svn: 66126
|
| |
|
|
|
|
| |
necessary.
llvm-svn: 66117
|
| |
|
|
|
|
| |
booleans.
llvm-svn: 66012
|
| |
|
|
| |
llvm-svn: 66010
|
| |
|
|
|
|
|
| |
still give an unsupported error for them due to the fact this is a
work in progress.
llvm-svn: 66007
|
| |
|
|
| |
llvm-svn: 65688
|
| |
|
|
|
|
| |
- PR3662.
llvm-svn: 65472
|
| |
|
|
|
|
| |
- No functionality change.
llvm-svn: 65470
|
| |
|
|
|
|
|
|
| |
global variable) out of GenerateStaticBlockVarDecl.
- No intended functionality change.
- Prep for some mild cleanups and PR3662.
llvm-svn: 65466
|
| |
|
|
|
|
|
| |
CodeGen. I'm not sure whether this actually makes any visible
difference, but it's better to be consistent anyway.
llvm-svn: 65259
|
| |
|
|
| |
llvm-svn: 65089
|
| |
|
|
| |
llvm-svn: 64984
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
IRgen no longer relies on isConstantInitializer, instead we just try
to emit the constant. If that fails then in C we emit an error
unsupported (this occurs when Sema accepted something that it doesn't
know how to fold, and IRgen doesn't know how to emit) and in C++ we
emit a guarded initializer.
This ends up handling a few more cases, because IRgen was actually
able to emit some of the constants Sema accepts but can't Evaluate().
For example, PR3398.
llvm-svn: 64780
|
| |
|
|
| |
llvm-svn: 64502
|
| |
|
|
|
|
| |
- PR3566
llvm-svn: 64492
|
| |
|
|
| |
llvm-svn: 64445
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ABI to the CodeGen library. Since C++ code-generation is so
incomplete, we can't exercise much of this mangling code. However, a
few smoke tests show that it's doing the same thing as GCC. When C++
codegen matures, we'll extend the ABI tester to verify name-mangling
as well, and complete the implementation here.
At this point, the major client of name mangling is in the uses of the
new "overloadable" attribute in C, which allows overloading. Any
"overloadable" function in C (or in an extern "C" block in C++) will
be mangled the same way that the corresponding C++ function would be
mangled.
llvm-svn: 64413
|
| |
|
|
| |
llvm-svn: 64411
|
| |
|
|
|
|
| |
".auto." to mangle their names. The working of PIC16AsmPrinter relies on that keyword currently.
llvm-svn: 64198
|
| |
|
|
|
|
| |
will remove the old Obj-C EH cleanup code.
llvm-svn: 64161
|
| |
|
|
| |
llvm-svn: 64052
|
| |
|
|
| |
llvm-svn: 64014
|
| |
|
|
|
|
| |
Fixes PR3491.
llvm-svn: 63879
|
| |
|
|
|
|
|
| |
Specify external linkage for such globals so that llvm optimizer do
not assume there values initialized as zero.
llvm-svn: 63636
|
| |
|
|
|
|
|
|
| |
accurately states what the function is trying to do and how it is
different from Expr::isEvaluatable. Also get rid of a parameter that is both
unused and inaccurate.
llvm-svn: 62951
|
| |
|
|
|
|
| |
"logical" location, refer to the "instantiation" location.
llvm-svn: 62316
|
| |
|
|
|
|
|
|
|
|
| |
simple test that actually does VLA codegen.
Note that despite the fact that the alloca isn't in the entry block, it
should dominate all uses; this is guaranteed by the restrictions on goto
into VLA scope in C99.
llvm-svn: 61291
|
| |
|
|
| |
llvm-svn: 61290
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Emit the size even if the declared type is a variably modified type. This lets us handle
void f(int n) {
int (*a)[n];
printf("size: %d\n", sizeof(*a));
}
llvm-svn: 61285
|
| |
|
|
| |
llvm-svn: 61284
|
| |
|
|
| |
llvm-svn: 61283
|
| |
|
|
| |
llvm-svn: 60989
|
| |
|
|
| |
llvm-svn: 60943
|
| |
|
|
|
|
| |
NamedDecl::getNameAsString() to make it more explicit.
llvm-svn: 59937
|
| |
|
|
|
|
|
|
|
| |
assert if the name is not an identifier. Update callers to do the right
thing and avoid this method in unsafe cases. This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.
llvm-svn: 59936
|
| |
|
|
|
|
|
|
| |
representing the names of declarations in the C family of
languages. DeclarationName is used in NamedDecl to store the name of
the declaration (naturally), and ObjCMethodDecl is now a NamedDecl.
llvm-svn: 59441
|
| |
|
|
|
|
|
| |
using MachineModuleInfo. This runs at about the same speed as the old
code, but fixes a bunch of bugs and is simpler and shorter.
llvm-svn: 58971
|
| |
|
|
|
|
|
|
|
|
| |
etc more generic. For some targets, long may not be equal to pointer size. For
example: PIC16 has int as i16, ptr as i16 but long as i32.
Also fixed a few build warnings in assert() functions in CFRefCount.cpp,
CGDecl.cpp, SemaDeclCXX.cpp and ParseDeclCXX.cpp.
llvm-svn: 58501
|