//===-- AsmWriter.cpp - Printing LLVM as an assembly file -----------------===//// // The LLVM Compiler Infrastructure//// This file was developed by the LLVM research group and is distributed under// the University of Illinois Open Source License. See LICENSE.TXT for details.// //===----------------------------------------------------------------------===////// This library implements the functionality defined in llvm/Assembly/Writer.h//// Note that these routines must be extremely tolerant of various errors in the// LLVM code, because it can be used for debugging transformations.////===----------------------------------------------------------------------===//#include"llvm/Assembly/CachedWriter.h"#include"llvm/Assembly/Writer.h"#include"llvm/Assembly/PrintModulePass.h"#include"llvm/Assembly/AsmAnnotationWriter.h"#include"llvm/Constants.h"#include"llvm/DerivedTypes.h"#include"llvm/Instruction.h"#include"llvm/iMemory.h"#include"llvm/iTerminators.h"#include"llvm/iPHINode.h"#include"llvm/iOther.h"#include"llvm/Module.h"#include"llvm/SymbolTable.h"#include"llvm/Assembly/Writer.h"#include"llvm/Support/CFG.h"#include"Support/StringExtras.h"#include"Support/STLExtras.h"#include<algorithm>usingnamespacellvm;namespace{/// This class provides computation of slot numbers for LLVM Assembly writing./// @brief LLVM Assembly Writing Slot Computation.classSlotMachine{/// @name Types/// @{public:/// @brief A mapping of Values to slot numberstypedefstd::map<constValue*,unsigned>ValueMap;/// @brief A plane with nex