aboutsummaryrefslogtreecommitdiff
path: root/CodeGen
AgeCommit message (Collapse)Author
2008-02-06only update the llvm type for a struct when we used the struct Chris Lattner
previously in an opaque context. If we didn't do this, computing its layout could be wasted: just be lazy. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46802 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06sink more of the type related code into CodeGenTypes.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46801 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06codegen static variables in a function into a different namespace fromChris Lattner
static variables outside functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46800 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06Finish off the refactoring of type handling stuff. Now we recompile everyChris Lattner
tag decl after it has been completed git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46798 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06move the codegen ASTConsumer out of the driver into libcodegen,Chris Lattner
eliminating a bunch of forwarding methods and generally simplifying things. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46792 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06Even more inline asm codegen fixes.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46784 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-06simple implementation of __builtin_allocaNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46783 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Improvements to inline asm code generation.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46779 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Add some binops.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05More improvements to inline asm CG.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46762 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Append input argument to args vector.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Add code generation for inline asm statements.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46750 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05rewrite some of the type refinement code to eliminate dangling pointersChris Lattner
simplify the code and generally make it more robust. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46745 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Change the key of CGRecordLayouts from being an llvm type* to being a decl*. ↵Chris Lattner
LLVM Type*'s can change as types are refined, so we can't use them as a stable key in the map. Decls don't change, so use them instead. This patch was written by Anders, but he's too shy to commit it himself :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Relax an assertion, fixing PR1968Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46742 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Update outdated comment.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46737 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Cleanup InitListExpr code generation code.Devang Patel
Handle padding fields while initializing struct (fix PR 1962) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46736 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Fix memory corruption from the type map being modified while a reference Eli Friedman
to a cell is being held. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46735 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-05Keep track of padding fields.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46734 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04Add experimental support for address space qualified types. Address spaceChristopher Lamb
qualifiers use the __attribute__((address_space(id))) syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46691 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02minor tweak to anders patch: (only) ocu vectors support splatting, butChris Lattner
ocu vectors should not treat bitcasts from int <-> vector as a splat unless it is of the element type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46664 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-02fix codegen on static variables which have multiple decl nodes. These Chris Lattner
should be merged just like normal globals. This fixes this testcase that Anders provided: static struct s a; static struct s *ap1 = &a; static struct s a = { 10 }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46661 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Only OCU vectors can be splatted.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46651 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Generate correct code for __builtin_huge_valAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46639 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-01Implement __builtin_huge_val.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46627 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31Implement review feedback. Use getAsPointerType instead of cast<PointerType>.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46613 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31Remainder of the __builtin_overload feedbackNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46601 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-31Fix PR1921 by promoting negative indices to intptrty.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46599 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30getLLVMFieldNo can't be called before emitting the base value.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46576 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30A pointer to an opaque type is an "opaque type definition".Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46575 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30Implement first round of feedback on __builtin_overloadNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46572 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30fix a problem reported by Eli, caused by not keeping bool as i1 Chris Lattner
when in a register. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46552 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30move some constructors out of line and fix indentation in ↵Chris Lattner
ObjCAtThrowStmt::getSourceRange. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46547 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-30Make sure to emit all the arguments to a function call. This fixes the Eli Friedman
codegen of calls to functions without a prototype and varargs functions, including printf. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46543 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Handle incomplete struct initializer.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46534 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Fix a bug where CodeGen would attempt to erase an instruction that was Eli Friedman
already used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46519 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Implement __builtin_offsetof.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46515 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Handle binary or in constant expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46482 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Correctly handle constants that refer to enums.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46481 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-29Correctly handle scalars in braces.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46480 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-26Tweaks to EmitLValue in CGExprConstant. Patch by Eli Friedman.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46389 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-26Add CodeGen for AddrOf in constant initializers. Original patch by Eli Friedman.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46388 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-26Factor out the constant generation into its own file.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46386 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-25Add more support for Apple's "private extern" extension...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46371 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-25Support checking and codegen of constant vector globalsNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46343 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22Problem with ObjC's type-encoding of nested structs causing infinit recursion.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22Fix a typo.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46259 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22Implement bitfield write.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46258 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22Implement bitfield read.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46257 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-22Fix two bugs in bitfield codegen.Lauro Ramos Venancio
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46255 91177308-0d34-0410-b5e6-96231b3b80d8