#
7ef5cb30 |
| 18-Mar-2011 |
John McCall <rjmccall@apple.com> |
The Darwin kernel does not provide useful guard variable support. Issue this as an IR-gen error; it's not really worthwhile doing this "right", i.e. in Sema, because IR gen knows a lot of tricks bey
The Darwin kernel does not provide useful guard variable support. Issue this as an IR-gen error; it's not really worthwhile doing this "right", i.e. in Sema, because IR gen knows a lot of tricks beyond what the constant evaluator knows.
llvm-svn: 127854
show more ...
|
#
a9e5460f |
| 17-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Remove code that was intentionally generating bad code on the GNU runtime for no reason (failing to emit .cxx_constructor / .cxx_destructor methods).
llvm-svn: 127806
|
#
0c1f0982 |
| 14-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Switch from internal to linker_private linkage, it is sufficient to please the new linker.
llvm-svn: 127622
|
#
7a6cf018 |
| 14-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix link of libxul with LTO and the linker in xcode4. It is not clear if this is working around a bug in ld or if the new linker has a reasonable reason for wanting the string constant to be linker v
Fix link of libxul with LTO and the linker in xcode4. It is not clear if this is working around a bug in ld or if the new linker has a reasonable reason for wanting the string constant to be linker visible.
llvm-svn: 127594
show more ...
|
#
46288eff |
| 09-Mar-2011 |
John McCall <rjmccall@apple.com> |
Fix three of the four places where I left breadcrumbs to avoid unnecessary recomputation.
llvm-svn: 127322
|
#
a738c25f |
| 09-Mar-2011 |
John McCall <rjmccall@apple.com> |
Use the "undergoes default argument promotion" bit on parameters to simplify the logic of initializing function parameters so that we don't need both a variable declaration and a type in FunctionArgL
Use the "undergoes default argument promotion" bit on parameters to 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
show more ...
|
Revision tags: llvmorg-2.9.0-rc1 |
|
#
d6ffebb0 |
| 07-Mar-2011 |
Devang Patel <dpatel@apple.com> |
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change
DebugInfo can be enabled or disabled at function level (e.g. using an attribute). However, at module level it is determined by command line option and the state of command line option does not change during compilation. Make this layering explicit and fix accidental cases where the code generator was checking whether module has debug info enabled instead of checking whether debug info is enabled for this function or not.
llvm-svn: 127165
show more ...
|
#
e65982c8 |
| 07-Mar-2011 |
Devang Patel <dpatel@apple.com> |
Do not emit stop point for CXXDefaultArgExpr. It results in suboptimial user experience.
21 int main() { 22 A a;
For example, here user would expect to stop at line 22, even if A's constructor le
Do not emit stop point for CXXDefaultArgExpr. It results in suboptimial user experience.
21 int main() { 22 A a;
For example, here user would expect to stop at line 22, even if A's constructor leads to a call through CXXDefaultArgExpr.
This fixes ostream-defined.exp regression from gdb testsuite.
llvm-svn: 127164
show more ...
|
#
0cd19fbf |
| 05-Mar-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
StringRefify.
llvm-svn: 127082
|
#
c533cb70 |
| 22-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize the emission of local variables.
llvm-svn: 126189
|
#
83779675 |
| 19-Feb-2011 |
John McCall <rjmccall@apple.com> |
Warn about code that uses variables and functions with internal linkage without defining them. This should be an error, but I'm paranoid about "uses" that end up not actually requiring a definition.
Warn about code that uses variables and functions with internal linkage without defining them. This should be an error, but I'm paranoid about "uses" that end up not actually requiring a definition. I'll revisit later.
Also, teach IR generation to not set internal linkage on variable declarations, just for safety's sake. Doing so produces an invalid module if the variable is not ultimately defined.
Also, fix several places in the test suite where we were using internal functions without definitions.
llvm-svn: 126016
show more ...
|
#
e3dc1707 |
| 15-Feb-2011 |
John McCall <rjmccall@apple.com> |
Assorted cleanup: - 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 vari
Assorted cleanup: - 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
show more ...
|
#
ac00f5dd |
| 10-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use raw_svector_ostream in more places in the mangler.
llvm-svn: 125321
|
#
2575631c |
| 09-Feb-2011 |
Douglas Gregor <dgregor@apple.com> |
When IRgen refers to a function declaration that is not a definition, and we later find the definition, make sure that we add the definition (not the declaration) to the list of deferred definitions
When IRgen refers to a function declaration that is not a definition, 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
show more ...
|
#
ad7c5c16 |
| 08-Feb-2011 |
John McCall <rjmccall@apple.com> |
Reorganize CodeGen{Function,Module} to eliminate the unfortunate Block{Function,Module} base class. Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085
|
#
3c239484 |
| 05-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Re-land r124768, with a fix for PR9130.
We now emit everything except unused implicit virtual member functions when building the vtable.
llvm-svn: 124935
|
#
e28342c4 |
| 04-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
minor refactoring of -fapple-kext stuff.
llvm-svn: 124837
|
#
7cadb2f6 |
| 04-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
What was I thinking?
llvm-svn: 124835
|
#
f7f04458 |
| 04-Feb-2011 |
Fariborz Jahanian <fjahanian@apple.com> |
-fapple-kext cannot have 'weak' visibility in this abi.
llvm-svn: 124834
|
#
af5b92e8 |
| 03-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 124768. This reopens PR99114, but that one at least can be avoided with an #include. PR9130 cannot.
llvm-svn: 124780
|
#
bac84bef |
| 03-Feb-2011 |
Anders Carlsson <andersca@mac.com> |
Don't try to mark virtual members referenced for classes where the key function is not defined in the current translation unit. Doing so lead to compile errors such as PR9114.
Instead, when CodeGen
Don't try to mark virtual members referenced for classes where the key function is not defined in the current translation unit. Doing so lead to compile errors such as PR9114.
Instead, when CodeGen is building the vtable, don't try to emit a definition for functions that aren't marked used in the current translation unit. Fixes PR9114.
llvm-svn: 124768
show more ...
|
#
88ea6ab4 |
| 01-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 124633. The linker has been told how to merge available_externally.
llvm-svn: 124651
|
#
9fa5a67d |
| 01-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set visibility for available_externally globals. This is important for two reasons:
* llvm-link would complains about mismatched visibility * If we produce a relocation with an available_externally,
Set visibility for available_externally globals. This is important for two reasons:
* llvm-link would complains about mismatched visibility * If we produce a relocation with an available_externally, it is good to know that it is hidden.
llvm-svn: 124633
show more ...
|
#
a03f3a85 |
| 30-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When building with optimizations, emit vtables where the key is not in the current translation unit as available_externally.
This helps devirtualize the second example in PR3100, comment 18:
stru
When building with optimizations, emit vtables where the key is not in the current translation unit as available_externally.
This helps devirtualize the second example in PR3100, comment 18:
struct S { S() {}; virtual void xyzzy(); }; inline void foo(S *s) { s->xyzzy(); } void bar() { S s; foo(&s); }
This involved four major changes:
1. In DefineUsedVTables, always mark virtual member functions as referenced for non-template classes and class template specializations. 2. In CodeGenVTables::ShouldEmitVTableInThisTU return true if optimizations are enabled, even if the key function is not implemented in this translation unit. We don't ever do this for code compiled with -fapple-kext, because we don't ever want to devirtualize virtual member function calls in that case. 3. Give the correct linkage for vtables where the key function is not defined. 4. Update the linkage for RTTI structures when necessary.
llvm-svn: 124565
show more ...
|
#
537fdced |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Move GetLLVMVisibility to CodeGenModule.
llvm-svn: 124550
|