//===-- 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::setName(conststd::string&Name){// Constants can't take names.}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 th