//===-- Constants.cpp - Implement Constant nodes --------------------------===////// 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 file implements the Constant* classes...////===----------------------------------------------------------------------===//#include"llvm/Constants.h"#include"ConstantFolding.h"#include"llvm/DerivedTypes.h"#include"llvm/GlobalValue.h"#include"llvm/Instructions.h"#include"llvm/SymbolTable.h"#include"llvm/Module.h"#include"llvm/ADT/StringExtras.h"#include<algorithm>#include<iostream>usingnamespacellvm;ConstantBool*ConstantBool::True=newConstantBool(true);ConstantBool*ConstantBool::False=newConstantBool(false);//===----------------------------------------------------------------------===//// Constant Class//===----------------------------------------------------------------------===//voidConstant::destroyConstantImpl(){// When a Constant is destroyed, there may be lingering// references to the constant by other constants in the constant pool. These// constants are implicitly dependent on the module that is being deleted,// but they don't know that. Because we only find out whe