|
@@ -292,6 +292,8 @@ public:
|
|
ArrayRef<const Attr *> Attrs) override;
|
|
ArrayRef<const Attr *> Attrs) override;
|
|
void MarkRetTemp(CodeGenFunction &CGF, llvm::Value *V,
|
|
void MarkRetTemp(CodeGenFunction &CGF, llvm::Value *V,
|
|
clang::QualType QaulTy) override;
|
|
clang::QualType QaulTy) override;
|
|
|
|
+ void MarkCallArgumentTemp(CodeGenFunction &CGF, llvm::Value *V,
|
|
|
|
+ clang::QualType QaulTy) override;
|
|
void FinishAutoVar(CodeGenFunction &CGF, const VarDecl &D, llvm::Value *V) override;
|
|
void FinishAutoVar(CodeGenFunction &CGF, const VarDecl &D, llvm::Value *V) override;
|
|
void MarkIfStmt(CodeGenFunction &CGF, BasicBlock *endIfBB) override;
|
|
void MarkIfStmt(CodeGenFunction &CGF, BasicBlock *endIfBB) override;
|
|
void MarkSwitchStmt(CodeGenFunction &CGF, SwitchInst *switchInst,
|
|
void MarkSwitchStmt(CodeGenFunction &CGF, SwitchInst *switchInst,
|
|
@@ -2378,6 +2380,12 @@ void CGMSHLSLRuntime::MarkRetTemp(CodeGenFunction &CGF, Value *V,
|
|
AddValToPropertyMap(V, QualTy);
|
|
AddValToPropertyMap(V, QualTy);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void CGMSHLSLRuntime::MarkCallArgumentTemp(CodeGenFunction &CGF, llvm::Value *V,
|
|
|
|
+ clang::QualType QualTy) {
|
|
|
|
+ // Save object properties for call arg temp.
|
|
|
|
+ AddValToPropertyMap(V, QualTy);
|
|
|
|
+}
|
|
|
|
+
|
|
void CGMSHLSLRuntime::FinishAutoVar(CodeGenFunction &CGF, const VarDecl &D,
|
|
void CGMSHLSLRuntime::FinishAutoVar(CodeGenFunction &CGF, const VarDecl &D,
|
|
llvm::Value *V) {
|
|
llvm::Value *V) {
|
|
if (D.hasAttr<HLSLPreciseAttr>()) {
|
|
if (D.hasAttr<HLSLPreciseAttr>()) {
|