summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Do not use StringRef while using DebugInfo interface.Devang Patel2009-11-121-37/+30
| | | | llvm-svn: 86915
* Fix ctor vtable name. WIP.Mike Stump2009-11-111-1/+1
| | | | llvm-svn: 86879
* Push ctor vtable construction down further. WIP.Mike Stump2009-11-113-11/+22
| | | | llvm-svn: 86878
* Do not eagerly set stop point for arguments. This misleads the debugger in ↵Devang Patel2009-11-111-4/+19
| | | | | | identifying beginning of function body. Instead, create new location to attach with llvm.dbg.declare. This location is only used to find the context of the variable by the code generator, and it is not used to emit line number info. llvm-svn: 86862
* Value initialize non-class array members in ctor'sFariborz Jahanian2009-11-111-1/+8
| | | | | | initializer list. Fixes PR5463. llvm-svn: 86849
* More VTT work. We now track offsets and use the ctor vtable builderMike Stump2009-11-112-11/+27
| | | | | | interface. WIP. llvm-svn: 86793
* Avoid generating additional destructor(s) for initialized constructedFariborz Jahanian2009-11-111-0/+3
| | | | | | objects. llvm-svn: 86778
* Stub out most of the VTT building code. WIP.Mike Stump2009-11-111-2/+83
| | | | llvm-svn: 86772
* Attach location info with llvm.dbg.declare.Devang Patel2009-11-101-1/+4
| | | | llvm-svn: 86750
* Revert r86741; it doesn't handle virtual bases correctly.Eli Friedman2009-11-101-11/+9
| | | | llvm-svn: 86745
* Minor optimization to skip null check in generated code where it isn'tEli Friedman2009-11-101-9/+11
| | | | | | necessary. llvm-svn: 86741
* Fix for PR5454: make sure to use the right block as the predecessor in theEli Friedman2009-11-101-0/+1
| | | | | | generated PHI node for the null check of a new operator. llvm-svn: 86738
* This patch implements Code gen. for destruction ofFariborz Jahanian2009-11-102-8/+68
| | | | | | global array of objects. llvm-svn: 86701
* Only generate a VTT for classes that need a VTT.Mike Stump2009-11-101-0/+4
| | | | llvm-svn: 86699
* Add vtable caching to prevent multiple vtables for the same class fromMike Stump2009-11-105-24/+41
| | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671
* Be sure to clear out VCall when we clear out VCalls.Mike Stump2009-11-102-0/+42
| | | | | | Start implementing VTTs. WIP. llvm-svn: 86650
* Finish off mangling for the VTT.Mike Stump2009-11-101-0/+8
| | | | llvm-svn: 86647
* Add mangling for the construction vtable.Mike Stump2009-11-102-0/+25
| | | | llvm-svn: 86643
* Fix clang's use of DenseMap iterators after r86636 fixed their constness.Jeffrey Yasskin2009-11-101-1/+1
| | | | | | Patch by Victor Zverovich! llvm-svn: 86638
* Enable the use of the new llvm objectsize intrinsic.Mike Stump2009-11-091-4/+2
| | | | llvm-svn: 86607
* Make sure that Type::getAs<ArrayType>() (or Type::getAs<subclass ofDouglas Gregor2009-11-091-1/+1
| | | | | | | ArrayType>()) does not instantiate. Update all callers that used this unsafe feature to use the appropriate ASTContext::getAs*ArrayType method. llvm-svn: 86596
* Rearrange function to avoid recursive use-after-free.Eli Friedman2009-11-091-17/+18
| | | | llvm-svn: 86516
* Explicitly note that pre-inc/dec lvalues are not supported yet, so that itEli Friedman2009-11-091-1/+5
| | | | | | doesn't crash. (Such expressions are valid in C++, but not in C.) llvm-svn: 86513
* Rename areAllFields32Or64BitBasicType to canExpandIndirectArgument to closer ↵Daniel Dunbar2009-11-091-10/+29
| | | | | | | | match what it is semantically used for. Also, fix a major bug where fields from a C++ struct might be dropped -- the expand action doesn't handle them correctly yet. llvm-svn: 86502
* Unify the codepaths used to verify base and member initializers for explicitlyEli Friedman2009-11-091-58/+0
| | | | | | | | | | | | | | | | and implicitly defined constructors. This has a number of benefits: 1. Less code. 2. Explicit and implicit constructors get the same diagnostics. 3. The AST explicitly contains constructor calls from implicit default constructors. This allows handing some cases that previously weren't handled correctly in IRGen without any additional code. Specifically, implicit default constructors containing calls to constructors with default arguments are now handled correctly. llvm-svn: 86500
* Add clarifying parens.Daniel Dunbar2009-11-081-1/+1
| | | | llvm-svn: 86457
* Handle member expressions where the member declaration is actually a static ↵Anders Carlsson2009-11-071-0/+3
| | | | | | variable. Fixes PR5392. llvm-svn: 86414
* More LValue related code cleanup.Anders Carlsson2009-11-071-18/+27
| | | | llvm-svn: 86413
* More cleanup, the code is much easier to follow now.Anders Carlsson2009-11-071-24/+11
| | | | llvm-svn: 86412
* Reduce nesting, no functionality change.Anders Carlsson2009-11-071-18/+20
| | | | llvm-svn: 86411
* We only need to call SetObjCNonGC for local variables. No functionality change.Anders Carlsson2009-11-071-3/+3
| | | | llvm-svn: 86410
* Change EmitPointerToDataMemberLValue to take a FieldDecl. No intended ↵Anders Carlsson2009-11-072-5/+5
| | | | | | functionality change. llvm-svn: 86407
* add missing #includeChris Lattner2009-11-071-0/+1
| | | | llvm-svn: 86368
* Always mangle functions with special names. Fixes PR5420.Anders Carlsson2009-11-071-3/+5
| | | | llvm-svn: 86350
* When looking up and adding substitutions to the substitution table, make ↵Anders Carlsson2009-11-071-0/+3
| | | | | | sure to always use the canonical declaration. With tihs change, FileCheck compiles and links but crashes during startup. llvm-svn: 86339
* Revert r86315 and add Type::FixedWidthInt to the FIXME cases.Anders Carlsson2009-11-071-0/+2
| | | | llvm-svn: 86320
* Do not assert if debug info for certain type is not generated.Devang Patel2009-11-071-1/+0
| | | | llvm-svn: 86315
* Do not emit linkage name for global variables. It confuses gdb, because it ↵Devang Patel2009-11-071-1/+3
| | | | | | picks up AT_MIPS_linkage_name and ignores AT_name. llvm-svn: 86308
* Refine the non-virtual this adjustment. Optimize out virtual thisMike Stump2009-11-061-43/+57
| | | | | | adjustments of zero. llvm-svn: 86300
* Prevent a code gen. crash on empty unions - pr5408.Fariborz Jahanian2009-11-061-1/+5
| | | | llvm-svn: 86287
* Simplify the debug info code, handle lvalue references and template ↵Anders Carlsson2009-11-062-13/+35
| | | | | | specializations. llvm-svn: 86277
* This patch fixes code gen. part of pr5333 (ConversionFariborz Jahanian2009-11-061-1/+3
| | | | | | using elipsis conversion). llvm-svn: 86276
* Handle QualifiedNameType and SubstTemplateTypeParmType types in ↵Anders Carlsson2009-11-061-0/+11
| | | | | | CGDebugInfo::CreateTypeNode. llvm-svn: 86274
* Don't assert when trying to generate debug info for vector types. This needs ↵Anders Carlsson2009-11-061-0/+4
| | | | | | to be fixed eventually... llvm-svn: 86268
* update comment, pointed out by GaborChris Lattner2009-11-061-3/+1
| | | | llvm-svn: 86263
* indirectbr seems to work! Rip out the old code.Chris Lattner2009-11-065-140/+0
| | | | llvm-svn: 86256
* Instead of returning a null DIType for unhandled types, assert.Anders Carlsson2009-11-061-9/+1
| | | | llvm-svn: 86254
* If a member variable of reference type is bound to a temporary in its member ↵Anders Carlsson2009-11-061-0/+5
| | | | | | initializer it needs to be destroyed at the end of the constructor. llvm-svn: 86230
* If a member initializer create temporaries we need to destroy them. Fixes ↵Anders Carlsson2009-11-061-0/+7
| | | | | | PR5077. llvm-svn: 86225
* More cleanup.Anders Carlsson2009-11-061-73/+94
| | | | llvm-svn: 86224
OpenPOWER on IntegriCloud