Changes in directory llvm/include/llvm/CodeGen:
AsmPrinter.h updated: 1.18 -> 1.19 --- Log message: Make the AsmPrinter keep track of the notion of a function number. --- Diffs of the changes: (+19 -2) AsmPrinter.h | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-) Index: llvm/include/llvm/CodeGen/AsmPrinter.h diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.18 llvm/include/llvm/CodeGen/AsmPrinter.h:1.19 --- llvm/include/llvm/CodeGen/AsmPrinter.h:1.18 Mon Nov 21 01:51:06 2005 +++ llvm/include/llvm/CodeGen/AsmPrinter.h Mon Nov 21 02:12:47 2005 @@ -27,6 +27,14 @@ /// CurrentSection - The current section we are emitting to. This is /// controlled and used by the SwitchSection method. std::string CurrentSection; + + /// FunctionNumber - This provides a unique ID for each function emitted in + /// this translation unit. It is autoincremented by SetupMachineFunction, + /// and can be accessed with getFunctionNumber() and + /// IncrementFunctionNumber(). + /// + unsigned FunctionNumber; + protected: /// Output stream on which we're printing assembly code. /// @@ -112,7 +120,7 @@ bool AlignmentIsInBytes; // Defaults to true AsmPrinter(std::ostream &o, TargetMachine &tm) - : O(o), TM(tm), + : FunctionNumber(0), O(o), TM(tm), CommentString("#"), GlobalPrefix(""), PrivateGlobalPrefix("."), @@ -140,7 +148,16 @@ /// current section is, but does not emit a .section directive. /// void SwitchSection(const char *NewSection, const GlobalValue *GV); - + + /// getFunctionNumber - Return a unique ID for the current function. + /// + unsigned getFunctionNumber() const { return FunctionNumber; } + + /// IncrementFunctionNumber - Increase Function Number. AsmPrinters should + /// not normally call this, as the counter is automatically bumped by + /// SetupMachineFunction. + void IncrementFunctionNumber() { FunctionNumber++; } + /// doInitialization - Set up the AsmPrinter when we are working on a new /// module. If your pass overrides this, it must make sure to explicitly /// call this implementation. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits