aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenFunction.h
AgeCommit message (Collapse)Author
2009-08-08ir-gen for initialization, in synthesize copy constructor, Fariborz Jahanian
of base/field which have trivial copy constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08Add support for global initializers.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08Refactor some code and implement support for global destructors for static ↵Anders Carlsson
variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-08Refactoring of copy ctor ir-gen. No change in functionality.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78489 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07Synthesized copy constructor now generates code forFariborz Jahanian
copying non-virtual base classes which have non-trivial constructor. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-07More synthesis of copy constructors. Work in progress.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Add support for vcall generation for vtables for virtual bases. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06Also generate the rtti field for virtual bases for vtables. Turn onMike Stump
rtti so we can properly test it. Refactor code a little. Still a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78343 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-06More layout for virtual tables for virtual bases. Still in progress.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78314 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05Update for LLVM API change.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78259 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31Add beginnigs of rtti generation, wire up more of -fno-exceptions.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77751 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31Add code to setup the vtable pointer in the constructor. Work in progress.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30Patch for future ir-gen for destructor calls.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-28Some code cleanup.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-28More work toward data member access ir-gen.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77332 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20Early ir-gen for constructor prologue. This is on going.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76493 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-19Avoid generation of dead code in a few more situations.Daniel Dunbar
- Emit variable declarations as "simple", we want to avoid forcing the creation of a dummy basic block, but still need to make the variable available for later use. - With that, we can now skip IRgen for other unreachable statements (which don't define a label). - Anders, I added two fixmes on calls to EmitVLASize, can you check them? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@76361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75705 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13Update for LLVM API change.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@75446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-08Implemented memmove_collectable API for Next runtimeFariborz Jahanian
when struct variables with GC'able members are copied into. Will provide a test case later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74984 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04Add PushConditionalTempDestruction/PopConditionalTempDestruction.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03More temporary work.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03Store more information about live temporaries. No functionality change for now.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Add a new function for emitting new functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72656 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Emit destructors correctly for temporaries.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add lvalue irgen support for CXXBindTemporaryExpr.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30More temporary support.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29Add code for emitting C++ destructors. Not used yet.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-29Fixup the rest of the trivial cases of the codegen of volatile. IfMike Stump
any body can spot codegen bugs with volatile, or knows of any in the bug database, let me know. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-27Handle operator call expressions where the callee is a member function.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72458 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-27Rename an EmitCallExpr function to EmitCall to make it clear that it doesn't ↵Anders Carlsson
emit an expr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-26Fixup codegen for volatile structs in the trivial cases (a a=a and a=a=a).Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72439 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-23Track volatile aggregate copies better. I'm hoping someone else will decideMike Stump
how to get the backend to know that the operation is volatile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵Anders Carlsson
support anything but at least we don't crash ;) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72147 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-19Pass the destination QualType to EmitStoreOfScalar. No functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Factor code that's common to EmitCXXMemberCallExpr and ↵Anders Carlsson
EmitCXXConstructorCall out into a EmitCXXMemberCall function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-04Remove unnecessary copy of constraint info.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-03Make codegen for constructors work again.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26split ObjC and C++ Statements out into their own headers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-25fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-23the logic for computing __func__ and friends is really broken:Chris Lattner
the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-22Make ObjCInterfaceDecl's const in some more places.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69775 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-21Kill ASTContext::[gs]etFieldForDecl, instead we just lookup thingsDaniel Dunbar
when we need them -- which is exactly what some code was already doing! - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-19Silence gcc warning.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18Make CodeGenFunction::EmitCallArgs a template function that takes a generic ↵Anders Carlsson
"Type Info" parameter. The type info parameter knows how to iterate over its arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69469 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-17Implement basic code generation of constructor calls. We can now compile:Anders Carlsson
struct S { S(int, int); }; void f() { S s(10, 10); } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69330 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-14Support code generation of 'this' exprsAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-10Remove asserts that weren't really useful, and that would fire in case the ↵Anders Carlsson
CleanupEntries vector needed to be reallocated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-08Add code for emitting call arguments (not used yet).Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04Add some basic support for generating C++ member functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68425 91177308-0d34-0410-b5e6-96231b3b80d8