| #
ef41fd31 |
| 02-Feb-2012 |
Alexander Potapenko <[email protected]> |
Move the code that sets the AddressSafety attribute into CodeGenModule::SetLLVMFunctionAttributesForDefinition().
Previously it resided in CodeGenModule::GetOrCreateLLVMFunction, which for some reas
Move the code that sets the AddressSafety attribute into CodeGenModule::SetLLVMFunctionAttributesForDefinition().
Previously it resided in CodeGenModule::GetOrCreateLLVMFunction, which for some reason wasn't called for ObjC class methods, see http://code.google.com/p/address-sanitizer/issues/detail?id=33
llvm-svn: 149605
show more ...
|
| #
a11b35a9 |
| 01-Feb-2012 |
Argyrios Kyrtzidis <[email protected]> |
Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c.
Original log:
ConstantArray::get() (for strin
Revert r149363 which was part a series of commits that were reverted in llvm commit 149470. This fixes test/CodeGen/PR3589-freestanding-libcalls.c.
Original log:
ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead.
Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though.
llvm-svn: 149477
show more ...
|
| #
92d436b4 |
| 31-Jan-2012 |
David Chisnall <[email protected]> |
Support @compatibility_alias at run time (GNUstep Runtime)
Patch by Niels Grewe!
llvm-svn: 149401
|
| #
f4a4bec3 |
| 31-Jan-2012 |
Chris Lattner <[email protected]> |
ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead.
Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods tha
ConstantArray::get() (for strings) is going away, use ConstantDataArray::getString instead.
Many instances of ConstantArray::get() could be moved to use more efficient ConstantDataArray methods that avoid a ton of intermediate Constant*'s for each element (e.g. GetConstantArrayFromStringLiteral). I don't plan on doing this in the short-term though.
llvm-svn: 149363
show more ...
|
| #
588d6abf |
| 24-Jan-2012 |
Kostya Serebryany <[email protected]> |
The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
When bui
The following patch adds __attribute__((no_address_safety_analysis)) which will allow to disable address safety analysis (such as e.g. AddressSanitizer or SAFECode) for a specific function.
When building with AddressSanitizer, add AddressSafety function attribute to every generated function except for those that have __attribute__((no_address_safety_analysis)).
With this patch we will be able to 1. disable AddressSanitizer for a particular function 2. disable AddressSanitizer-hostile optimizations (such as some cases of load widening) when AddressSanitizer is on.
llvm-svn: 148842
show more ...
|
| #
e4d798f0 |
| 20-Jan-2012 |
David Blaikie <[email protected]> |
More dead code removal (using -Wunreachable-code)
llvm-svn: 148577
|
| #
c9196651 |
| 18-Jan-2012 |
Seth Cantrell <[email protected]> |
test svn commit access
llvm-svn: 148388
|
| #
9ed5b156 |
| 18-Jan-2012 |
Nick Lewycky <[email protected]> |
Fix a string over-run detected by ASAN.
llvm-svn: 148375
|
| #
72cd2293 |
| 18-Jan-2012 |
Nick Lewycky <[email protected]> |
Fix special king of typo.
llvm-svn: 148368
|
| #
ec9fd13c |
| 14-Jan-2012 |
Douglas Gregor <[email protected]> |
De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don
De-virtualize getPreviousDecl() and getMostRecentDecl() when we know we have a redeclarable type, and only use the new virtual versions (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have that type information. This keeps us from penalizing users with strict type information (and is the moral equivalent of a "final" method).
Plus, settle on the names getPreviousDecl() and getMostRecentDecl() throughout.
llvm-svn: 148187
show more ...
|
| #
dafff947 |
| 14-Jan-2012 |
Richard Smith <[email protected]> |
constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants.
Add new CGCXXABI entry point fo
constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, APValue::Array and APValue::MemberPointer. All APValue values can now be emitted as constants.
Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other entrypoints dealing with constant member pointers are no longer necessary and will be removed in a later change.
Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to VarDecl::evaluateValue. This performs caching and deals with the nasty cases in C++11 where a non-const object's initializer can refer indirectly to previously-initialized fields within the same object.
Building the intermediate APValue object incurs a measurable performance hit on pathological testcases with huge initializer lists, so we continue to build IR directly from the Expr nodes for array and record types outside of C++11.
llvm-svn: 148178
show more ...
|
| #
86131f2c |
| 10-Jan-2012 |
Bill Wendling <[email protected]> |
The `-fwritable-strings' flag doesn't make the backing store strings of all CFStrings writable.
The strings (both Unicode and ASCII) should reside in a read-only section. E.g., __TEXT,__cstring inst
The `-fwritable-strings' flag doesn't make the backing store strings of all CFStrings writable.
The strings (both Unicode and ASCII) should reside in a read-only section. E.g., __TEXT,__cstring instead of __DATA,__data. This is done by making the global variable created for the strings constant despite the value of that flag. <rdar://problem/10657500>
llvm-svn: 147845
show more ...
|
| #
f6102675 |
| 01-Jan-2012 |
Douglas Gregor <[email protected]> |
Eliminate ObjCForwardProtocolDecl, which is redundant now that ObjCProtocolDecl modules forward declarations properly.
llvm-svn: 147415
|
| #
deafd0b2 |
| 27-Dec-2011 |
Douglas Gregor <[email protected]> |
Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDecl covers both declarations (@class) and definitions (@interface) of an Objective-C class.
llvm-svn: 147299
|
| #
4fdc1759 |
| 19-Dec-2011 |
Rafael Espindola <[email protected]> |
Extend the fix for PR9614 to handle inline asm in the outer decl and the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14).
llvm-svn: 146867
|
| #
ba34552e |
| 02-Dec-2011 |
Douglas Gregor <[email protected]> |
Introduce a module import declaration, so that we properly represent, e.g.,
__import_module__ std.vector;
in the AST.
llvm-svn: 145725
|
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2 |
|
| #
fcec630a |
| 01-Nov-2011 |
Eli Friedman <[email protected]> |
Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving treating wide strings as a
Fix the representation of wide strings in the AST and IR so that it uses the native representation of integers for the elements. This fixes a bunch of nastiness involving treating wide strings as a series of bytes.
Patch by Seth Cantrell.
llvm-svn: 143417
show more ...
|
| #
fffc1ce1 |
| 28-Oct-2011 |
Rafael Espindola <[email protected]> |
Fix PR9614 for functions with the always_inline attribute. Try to keep the common case (-O0, no always_inline) fast.
llvm-svn: 143222
|
| #
c594135b |
| 26-Oct-2011 |
Rafael Espindola <[email protected]> |
Fix pr9614 by not emitting an available_externally function when it calls itself via an asm label.
available_externally functions are supposed to correspond to an external function, and that is not
Fix pr9614 by not emitting an available_externally function when it calls itself via an asm label.
available_externally functions are supposed to correspond to an external function, and that is not the case in the examples in pr9614.
llvm-svn: 143049
show more ...
|
|
Revision tags: llvmorg-3.0.0-rc1 |
|
| #
22d24c28 |
| 15-Oct-2011 |
Benjamin Kramer <[email protected]> |
Replace vectors with arrays.
llvm-svn: 142072
|
| #
7cdf9486 |
| 13-Oct-2011 |
Eric Christopher <[email protected]> |
Recommit:
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the e
Recommit:
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage.
Finishes off the rest of rdar://10246360
after fixing a few bugs that were exposed in gdb testsuite testing.
llvm-svn: 141893
show more ...
|
| #
93663b3c |
| 12-Oct-2011 |
Eric Christopher <[email protected]> |
Revert file/scope handling patches. gdb testing revealed a couple of bugs.
llvm-svn: 141796
|
| #
498b7fd7 |
| 11-Oct-2011 |
Eric Christopher <[email protected]> |
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change m
Start handling debug line and scope information better:
Migrate most of the location setting within the larger API in CGDebugInfo and update a lot of callers. Remove the existing file/scope change machinery in UpdateLineDirectiveRegion and replace it with DILexicalBlockFile usage.
Finishes off the rest of rdar://10246360
llvm-svn: 141732
show more ...
|
| #
c168e507 |
| 08-Oct-2011 |
Ted Kremenek <[email protected]> |
Free 'TheTargetCodeGenInfo' in the class CodeGenModule. This looks like an obvious memory leak that was reported from LLDB devs. The comment indicates the leak is deliberate, but I have no idea why
Free 'TheTargetCodeGenInfo' in the class CodeGenModule. This looks like an obvious memory leak that was reported from LLDB devs. The comment indicates the leak is deliberate, but I have no idea why this needs to be so. Please comment/revert if you know otherwise.
llvm-svn: 141479
show more ...
|
| #
a9455ec9 |
| 06-Oct-2011 |
Peter Collingbourne <[email protected]> |
CUDA: add -fcuda-is-device flag
This frontend-only flag is used by the IR generator to determine whether to filter CUDA declarations for the host or for the device.
llvm-svn: 141301
|