- Mar 30, 2012
-
-
Bill Wendling authored
llvm-svn: 153698
-
- Mar 26, 2012
-
-
Kostya Serebryany authored
llvm-svn: 153447
-
- Mar 24, 2012
-
-
Benjamin Kramer authored
llvm-svn: 153389
-
- Mar 11, 2012
-
-
David Blaikie authored
The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536
-
- Mar 08, 2012
-
-
Rafael Espindola authored
HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios. llvm-svn: 152320
-
- Mar 05, 2012
-
-
Rafael Espindola authored
In the included testcase, soma thinks that we already have a definition after we see the out of line decl. Codegen puts it in a deferred list, to be output if a use is seen. This would break when we saw an explicit template instantiation definition, since codegen would not be notified. This patch adds a method to the consumer interface so that soma can notify codegen that this decl is now required. llvm-svn: 152024
-
- Mar 03, 2012
-
-
Richard Smith authored
scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8. In addition to the extra unit testing, this has successfully bootstrapped. llvm-svn: 151955
-
- Feb 28, 2012
-
-
Sebastian Redl authored
llvm-svn: 151586
-
- Feb 25, 2012
-
-
Sebastian Redl authored
This emits a backing array with internal linkage and fills it with data, then has the initializer_list point at the array. Dynamic initialization and global destructors are correctly supported. What doesn't work is nested initializer_lists. I have no idea how to get them to work, either. However, these should be very rare, and so I'll just call it a known bug and declare generalized initializers DONE! llvm-svn: 151457
-
- Feb 18, 2012
-
-
Eric Christopher authored
emit less than complete types on purpose on occasion and so our caches aren't useful for this kind of lazy emitting. llvm-svn: 150856
-
- Feb 17, 2012
-
-
Richard Smith authored
as constants. Refactor and simplify all the separate checks for whether a type can be emitted as a constant. llvm-svn: 150793
-
Richard Smith authored
1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'. llvm-svn: 150792
-
John McCall authored
optional argument passed through the variadic ellipsis) potentially affects how we need to lower it. Propagate this information down to the various getFunctionInfo(...) overloads on CodeGenTypes. Furthermore, rename those overloads to clarify their distinct purposes, and make sure we're calling the right one in the right place. This has a nice side-effect of making it easier to construct a function type, since the 'variadic' bit is no longer separable. This shouldn't really change anything for our existing platforms, with one minor exception --- we should now call variadic ObjC methods with the ... in the "right place" (see the test case), which I guess matters for anyone running GNUStep on MIPS. Mostly it's just a substantial clean-up. llvm-svn: 150788
-
- Feb 16, 2012
-
-
Dan Gohman authored
-fno-objc-arc-exceptions. This will allow the optimizer to perform optimizations which are only safe under that flag. This is a part of rdar://10803830. llvm-svn: 150644
-
- Feb 13, 2012
-
-
Richard Smith authored
constructor, and that constructor is used to initialize an object of static storage duration such that all members and bases are initialized by constant expressions, constant initialization is performed. In this case, the object can still have a non-trivial destructor, and if it does, we must emit a dynamic initializer which performs no initialization and instead simply registers that destructor. llvm-svn: 150419
-
- Feb 07, 2012
-
-
Chris Lattner authored
llvm-svn: 149943
-
- Feb 06, 2012
-
-
Chris Lattner authored
llvm-svn: 149928
-
Chris Lattner authored
allocating an std::string. llvm-svn: 149924
-
Chris Lattner authored
llvm-svn: 149916
-
- Feb 05, 2012
-
-
Chris Lattner authored
llvm-svn: 149801
-
Dylan Noblesmith authored
(I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
-
- Feb 02, 2012
-
-
Alexander Potapenko authored
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
-
- Feb 01, 2012
-
-
Argyrios Kyrtzidis authored
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
-
- Jan 31, 2012
-
-
David Chisnall authored
Patch by Niels Grewe! llvm-svn: 149401
-
Chris Lattner authored
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
-
- Jan 24, 2012
-
-
Kostya Serebryany authored
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
-
- Jan 20, 2012
-
-
David Blaikie authored
llvm-svn: 148577
-
- Jan 18, 2012
-
-
Seth Cantrell authored
llvm-svn: 148388
-
Nick Lewycky authored
llvm-svn: 148375
-
Nick Lewycky authored
llvm-svn: 148368
-
- Jan 14, 2012
-
-
Douglas Gregor authored
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
-
Richard Smith authored
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
-
- Jan 10, 2012
-
-
Bill Wendling authored
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
-
- Jan 01, 2012
-
-
Douglas Gregor authored
ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
-
- Dec 27, 2011
-
-
Douglas Gregor authored
covers both declarations (@class) and definitions (@interface) of an Objective-C class. llvm-svn: 147299
-
- Dec 19, 2011
-
-
Rafael Espindola authored
the inner decl being a builtin. This is needed to support the glibc headers in fedora 16 (2.14). llvm-svn: 146867
-
- Dec 03, 2011
-
-
Douglas Gregor authored
__import_module__ std.vector; in the AST. llvm-svn: 145725
-
- Nov 01, 2011
-
-
Eli Friedman authored
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
-
- Oct 28, 2011
-
-
Rafael Espindola authored
the common case (-O0, no always_inline) fast. llvm-svn: 143222
-
- Oct 26, 2011
-
-
Rafael Espindola authored
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
-