aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
AgeCommit message (Collapse)Author
2009-08-24More member pointer work.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79922 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Remove dead codeAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79921 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Fix build of clang with gcc-4.4: #include <cstdio> was missing.Torok Edwin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Remove TargetInfo::getTargetPrefix().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Switch TargetInfo to store an llvm::Triple.Daniel Dunbar
- Primarily to discourage clients form making decisions based on the string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24Switch ABI selection to use llvm::Triple instead of string munging.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79900 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Don't install Clang libraries.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Whoops, comment this out for now. I'll fix it shortly.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23More work towards zero-initializing structs that contain member pointers in ↵Anders Carlsson
constant expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79799 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23Handle CK_NullToMemberPointer casts in the constant expr emitter.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79790 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22Change the constant expression emitter to look at the cast kind for to-union ↵Anders Carlsson
casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79789 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22Add a -fno-elide-constructors option to clang-cc.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79782 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Calculate the address point for a vtable better, and start fleshing out the ↵Mike Stump
vcall calculations better. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79687 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Patch to ir-gen copy assigning array members when synthesizing Fariborz Jahanian
a copy assignment operator function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79681 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Patch to provide ir-gen support in copying array membersFariborz Jahanian
when synthesizing a copy constructor. Arrays's base element may have a trivial or non-trivial copy constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Array member construction in prologue of user-declaredFariborz Jahanian
constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79640 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Introduce getConstantArrayElementCount API and use it inFariborz Jahanian
construction/destruction of array members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21We now support overriding base functions in vtables. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Remove TypeSpecStartLocation from VarDecl/FunctionDecl/FieldDecl, and use ↵Argyrios Kyrtzidis
DeclaratorInfo to get this information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79584 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Patch to ir-gen destruction of array member elements in revers orderFariborz Jahanian
of their construction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79571 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20ir-gen patch to destruct array members. WIP.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79565 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Using "ObjCImplicitSetterGetterRefExpr" instead of ↵Fariborz Jahanian
"ObjCImplctSetterGetterRefExpr". A field rename and more comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Refine vbase offsets for the inductive case. Things are now startingMike Stump
to come together nicely. Still a WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Ensure we don't output repeated vbase offsets. I have a testcase forMike Stump
this, but need to fixup the actual offset value before I can check it in. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79506 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Test case for my last patch plus a minor clean up.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79500 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20ir-gen for multi-dimensional array construction. WIP.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Removed unneeded code for break/continue statements inFariborz Jahanian
manufactured for-loop per Anders feedback (thanks). - Fariborz git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79466 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19ir-gen for constructing arrays as non-static data members. WIP.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Switch to SmallString::str from SmallString::c_str.Daniel Dunbar
- Several FIXMEs due to non-Twinification of IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79455 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19One second thought, I think I want to limit this class to just vtableMike Stump
building activities. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Cleanup: fold IndirectPrimary into builder.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19We don't want to confuse this layout with the BLayout from the builder.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79422 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Restore vbase offsets for classes without a primary.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Refine vcalls a little.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Introduce LocInfoType which is a Sema-specific implementation detail.Argyrios Kyrtzidis
This is a Type subclass that can hold a DeclaratorInfo* when we have type source info coming out of a declarator that we want to preserve. This is used only at the "border" of Parser/Sema for passing/getting QualTypes, it does not participate in the type system semantics in any way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema ↵Argyrios Kyrtzidis
interfaces. DeclaratorDecl contains a DeclaratorInfo* to keep type source info. Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl. EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo. Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79392 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Cleanup.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79374 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Add some documentation.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79373 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Cleanups. Move GenerateRtti to CodeGenModule.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79372 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Renamed ClassProp data member of ObjCImplctSetterGetterRefExprFariborz Jahanian
to InterfaceDecl, as it is unrelated to any property and holds the InterfaceDecl needed for accessing class getter/setter methods using the dot-syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79371 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Move the rest of the vtable building code into the new builder.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79370 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Suck up method generation.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Split out vtable bulding code into a builder.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.Fariborz Jahanian
Removed an unnecessary loop to get to setters incoming argument. Added DoxyGen comments. Still more work to do in this area (WIP). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Fixed typo in last commit pointed out by Anton.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Changes to TargetABIInfo to (hopefully) select the correct calling ↵David Chisnall
convention. This has been tested on FreeBSD, and now correctly generates GCC-compatible code for functions returning small structures. Please test it on other platforms! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Patch to 1) synthesizing non-trivial default destructor whenFariborz Jahanian
one is not provided by user. 2) More complete emission of ctor prologue when it has no initializer list or when it is synthesized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Remove an ErrorUnsupported call.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79261 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17Initial patch to support definitions of id and Class from headers in ↵David Chisnall
Objective-C code. This currently breaks test/SemaObjC/id-isa-ref.m and issues some spurious warnings when you attempt to assign a struct objc_class* value to a Class variable. The test case probably should fail as it's written, because without the definition of Class the compiler should not assume struct objc_class* is a valid receiver type, but it's left broken because it would be nice if we could get that passing too for the special case of isa. Approved by snaroff. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79248 91177308-0d34-0410-b5e6-96231b3b80d8