summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86AsmPrinter.h
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2006-09-20 22:03:51 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2006-09-20 22:03:51 +0000
commit3c5b3df6a07bba844943abf3f8054c5b89a41f9d (patch)
tree905287addaa29f1c661f869db347b2fff1a4d964 /llvm/lib/Target/X86/X86AsmPrinter.h
parentccdaecc4486b26d6eb13adfe8e7ff52118cd9aa9 (diff)
downloadbcm5719-llvm-3c5b3df6a07bba844943abf3f8054c5b89a41f9d.tar.gz
bcm5719-llvm-3c5b3df6a07bba844943abf3f8054c5b89a41f9d.zip
Adding codegeneration for StdCall & FastCall calling conventions
llvm-svn: 30549
Diffstat (limited to 'llvm/lib/Target/X86/X86AsmPrinter.h')
-rwxr-xr-xllvm/lib/Target/X86/X86AsmPrinter.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.h b/llvm/lib/Target/X86/X86AsmPrinter.h
index ae03ca5382d..3222da5717d 100755
--- a/llvm/lib/Target/X86/X86AsmPrinter.h
+++ b/llvm/lib/Target/X86/X86AsmPrinter.h
@@ -17,6 +17,7 @@
#define X86ASMPRINTER_H
#include "X86.h"
+#include "X86MachineFunctionInfo.h"
#include "X86TargetMachine.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/DwarfWriter.h"
@@ -45,6 +46,23 @@ struct VISIBILITY_HIDDEN X86SharedAsmPrinter : public AsmPrinter {
Subtarget = &TM.getSubtarget<X86Subtarget>();
}
+ typedef std::map<const Function*, X86FunctionInfo> FMFInfoMap ;
+
+ // We have to propagate some information about MachineFunction to
+ // AsmPrinter. It's ok, when we're printing the function, since we have
+ // access to MachineFunction and can get the appropriate MachineFunctionInfo.
+ // Unfortunately, this is not possible when we're printing reference to
+ // Function (e.g. calling it and so on). Even more, there is no way to get the
+ // corresponding MachineFunctions: it can even be not created at all. That's
+ // why we should use additional structure, when we're collecting all necessary
+ // information.
+
+ // This structure is using e.g. for name decoration for stdcall & fastcall'ed
+ // function, since we have to use arguments' size for decoration.
+ FMFInfoMap FunctionInfoMap;
+
+ void decorateName(std::string& Name, const GlobalValue* GV);
+
bool doInitialization(Module &M);
bool doFinalization(Module &M);
OpenPOWER on IntegriCloud