diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-04 00:20:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-04 00:20:15 +0000 |
commit | 94f05e36488fd08e404ac409d3bcb1db1da1bd4d (patch) | |
tree | d4a14855abf00fea4d0143320d1c5790a3323ae7 /CodeGen/CodeGenFunction.h | |
parent | 345dc62fd5d2980aab3ab2218dd0234f6bcea279 (diff) |
Implement codegen for __builtin_choose_expr. For example:
struct X { int A; };
void foo() {
struct X s;
int i;
i = __builtin_choose_expr(0, s, i);
}
compiles to:
%tmp = load i32* %i ; <i32> [#uses=1]
store i32 %tmp, i32* %i
wow :)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40801 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen/CodeGenFunction.h')
-rw-r--r-- | CodeGen/CodeGenFunction.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/CodeGen/CodeGenFunction.h b/CodeGen/CodeGenFunction.h index 4c79498c46..0cc5f0ddbe 100644 --- a/CodeGen/CodeGenFunction.h +++ b/CodeGen/CodeGenFunction.h @@ -58,6 +58,7 @@ namespace clang { class ArraySubscriptExpr; class OCUVectorElementExpr; class ConditionalOperator; + class ChooseExpr; class PreDefinedExpr; class BlockVarDecl; @@ -399,6 +400,7 @@ public: // Conditional Operator. RValue EmitConditionalOperator(const ConditionalOperator *E); + RValue EmitChooseExpr(const ChooseExpr *E); }; } // end namespace CodeGen } // end namespace clang |