diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-08-04 18:18:36 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-08-04 18:18:36 +0000 |
| commit | 5638895b2aacb2af12fb636f342066af651465e0 (patch) | |
| tree | 8077021336b998a2ced0ea4ea7abcac386e11e95 /clang/lib/CodeGen | |
| parent | a2824d570076b6a5c5d8e34c3597150f309ae5d0 (diff) | |
| download | bcm5719-llvm-5638895b2aacb2af12fb636f342066af651465e0.tar.gz bcm5719-llvm-5638895b2aacb2af12fb636f342066af651465e0.zip | |
Revert the fix for PR3800, it broke things.
llvm-svn: 78084
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index f4bc5afd09b..5b17b7b9008 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -909,13 +909,16 @@ void CodeGenFunction::EmitAsmStmt(const AsmStmt &S) { if (Info.isReadWrite()) { InOutConstraints += ','; + const Expr *InputExpr = S.getOutputExpr(i); + llvm::Value *Arg = EmitAsmInput(S, Info, InputExpr, InOutConstraints); + if (Info.allowsRegister()) InOutConstraints += llvm::utostr(i); else InOutConstraints += OutputConstraint; - InOutArgTypes.push_back(Dest.getAddress()->getType()); - InOutArgs.push_back(Dest.getAddress()); + InOutArgTypes.push_back(Arg->getType()); + InOutArgs.push_back(Arg); } } |

