lazily allocate the GCMetadataPrinters map and remove DenseMap

from the AsmPrinter interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100331 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2010-04-04 17:57:56 +00:00
parent 9041ae274b
commit e00b59f954
2 changed files with 30 additions and 16 deletions

View File

@ -19,7 +19,6 @@
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/Support/DebugLoc.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/ADT/DenseMap.h"
namespace llvm {
class BlockAddress;
@ -60,11 +59,6 @@ namespace llvm {
class AsmPrinter : public MachineFunctionPass {
static char ID;
// GCMetadataPrinters - The garbage collection metadata printer table.
typedef DenseMap<GCStrategy*,GCMetadataPrinter*> gcp_map_type;
typedef gcp_map_type::iterator gcp_iterator;
gcp_map_type GCMetadataPrinters;
/// If VerboseAsm is set, a pointer to the loop info for this
/// function.
///
@ -125,6 +119,11 @@ namespace llvm {
///
bool VerboseAsm;
private:
// GCMetadataPrinters - The garbage collection metadata printer table.
void *GCMetadataPrinters; // Really a DenseMap.
/// Private state for PrintSpecial()
// Assign a unique ID to this machine instruction.
mutable const MachineInstr *LastMI;