summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/llvm/storage.h
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2007-10-26 19:12:02 -0400
committerZack Rusin <[email protected]>2007-10-26 19:12:56 -0400
commit789d248558061fe4d65f664d6770a12b90fa2e34 (patch)
tree51d17829b47536c8a8a0b0c929e8b28532f29ab3 /src/mesa/pipe/llvm/storage.h
parent78c1f8b2decf168d183c52e7b414adb29dd18988 (diff)
Hold a stack of temporaries so that we can redeclare them
for all defined functions. Fixes crashes in function calls.
Diffstat (limited to 'src/mesa/pipe/llvm/storage.h')
-rw-r--r--src/mesa/pipe/llvm/storage.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/pipe/llvm/storage.h b/src/mesa/pipe/llvm/storage.h
index b8d6eb06049..eeadaa0506a 100644
--- a/src/mesa/pipe/llvm/storage.h
+++ b/src/mesa/pipe/llvm/storage.h
@@ -84,6 +84,8 @@ public:
void pushArguments(llvm::Value *out, llvm::Value *in,
llvm::Value *constPtr);
void popArguments();
+ void pushTemps();
+ void popTemps();
private:
llvm::Value *maskWrite(llvm::Value *src, int mask, llvm::Value *templ);
@@ -122,6 +124,7 @@ private:
llvm::Value *cst;
};
std::stack<Args> m_argStack;
+ std::stack<std::vector<llvm::Value*> > m_tempStack;
};
#endif