//===- JumpThreading.cpp - Thread control through conditional blocks ------===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements the Jump Threading pass.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "jump-threading"#include"llvm/Transforms/Scalar.h"#include"llvm/IntrinsicInst.h"#include"llvm/LLVMContext.h"#include"llvm/Pass.h"#include"llvm/Analysis/InstructionSimplify.h"#include"llvm/Analysis/LazyValueInfo.h"#include"llvm/Transforms/Utils/BasicBlockUtils.h"#include"llvm/Transforms/Utils/Local.h"#include"llvm/Transforms/Utils/SSAUpdater.h"#include"llvm/Target/TargetData.h"#include"llvm/ADT/DenseMap.h"#include"llvm/ADT/Statistic.h"#include"llvm/ADT/STLExtras.h"#include"llvm/ADT/SmallPtrSet.h"#include"llvm/ADT/SmallSet.h"#include"llvm/Support/CommandLine.h"#include"llvm/Support/Debug.h"#include"llvm/Support/ValueHandle.h"#include"llvm/Support/raw_ostream.h"usingnamespacellvm;STATISTIC