- 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
-
Zhongxing Xu authored
llvm-svn: 148179
-
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 13, 2012
-
-
Eli Friedman authored
A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751. llvm-svn: 148093
-
- Jan 12, 2012
-
-
Eric Christopher authored
llvm-svn: 147989
-
Eric Christopher authored
llvm-svn: 147988
-
Akira Hatanaka authored
argument when Offset is initialized. llvm-svn: 147986
-
Akira Hatanaka authored
Remove function MipsABIInfo::GetFloatingPointTy. llvm-svn: 147985
-
- Jan 11, 2012
-
-
Abramo Bagnara authored
llvm-svn: 147933
-
Akira Hatanaka authored
floating point type. llvm-svn: 147894
-
Akira Hatanaka authored
passed in floating point registers. llvm-svn: 147892
-
- Jan 10, 2012
-
-
Akira Hatanaka authored
llvm-svn: 147889
-
Chandler Carruth authored
for the arm-linux-androideabi triple in particular. Also use this to do a better job of selecting soft FP settings. Patch by Evgeniy Stepanov. llvm-svn: 147872
-
Joerg Sonnenberger authored
passing on i386 and does not use registers. llvm-svn: 147856
-
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
-
Eli Friedman authored
Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.) llvm-svn: 147840
-
Fariborz Jahanian authored
c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845 llvm-svn: 147817
-
- Jan 09, 2012
-
-
Akira Hatanaka authored
llvm-svn: 147791
-
Akira Hatanaka authored
padding insertion will not work if the coerced type is not a structure. llvm-svn: 147786
-
- Jan 08, 2012
-
-
Fariborz Jahanian authored
c++ object properties. wip. llvm-svn: 147750
-
- Jan 07, 2012
-
-
Fariborz Jahanian authored
with non-trivial copies. // rdar://6137845 llvm-svn: 147735
-
Abramo Bagnara authored
llvm-svn: 147730
-
Akira Hatanaka authored
is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening. llvm-svn: 147699
-
- Jan 06, 2012
-
-
Fariborz Jahanian authored
currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API. llvm-svn: 147691
-
Eli Friedman authored
llvm-svn: 147681
-
Eli Friedman authored
llvm-svn: 147677
-
Fariborz Jahanian authored
properties of c++ object types with non-trivial assignment copy. Not used yet. // rdar://6137845 llvm-svn: 147666
-
Jakub Staszak authored
llvm-svn: 147664
-
David Chisnall authored
builtins. This fixes PR11711. llvm-svn: 147655
-
Fariborz Jahanian authored
for copying atomic properties of c++ objects with non-trivial copy assignment in setters/getters. Not yet used. // rdar://6137845 llvm-svn: 147636
-
Eli Friedman authored
llvm-svn: 147631
-
- Jan 05, 2012
-
-
Fariborz Jahanian authored
c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845 llvm-svn: 147573
-
Eli Friedman authored
Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer. With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary. Fixes PR11705. llvm-svn: 147561
-
- Jan 04, 2012
-
-
rdar://10639962Chris Lattner authored
information even in subscripting operations. llvm-svn: 147557
-
David Chisnall authored
llvm-svn: 147530
-
Akira Hatanaka authored
is either N32 or N64. llvm-svn: 147520
-
Rafael Espindola authored
llvm-svn: 147511
-
David Chisnall authored
Initialise constant Objective-C string isa pointers with a weak reference to the class, so that they are usable in +load methods if the string class has been compiled with clang - if it's been compiled with GCC, the ABI makes this impossible. (GNU runtimes) llvm-svn: 147493
-
- Jan 01, 2012
-
-
Douglas Gregor authored
ObjCProtocolDecl modules forward declarations properly. llvm-svn: 147415
-
Douglas Gregor authored
for Objective-C protocols, including: - Using the first declaration as the canonical declaration - Using the definition as the primary DeclContext - Making sure that all declarations have a pointer to the definition data, and that we know which declaration is the definition - Serialization support for redeclaration chains and for adding definitions to already-serialized declarations. However, note that we're not taking advantage of much of this code yet, because we're still re-using ObjCProtocolDecls. llvm-svn: 147410
-