// This file contains classes used to represent the parameter attributes
// associated with functions and their calls.
//
-// The implementation of ParamAttrsList is in lib/VMCore/ParameterAttributes.cpp.
+// The implementation of ParamAttrsList is in VMCore/ParameterAttributes.cpp.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_PARAM_ATTRS_LIST_H
#define LLVM_PARAM_ATTRS_LIST_H
+#include "llvm/ParameterAttributes.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/FoldingSet.h"
-#include "llvm/ParameterAttributes.h"
-#include <cassert>
namespace llvm {
bool AllowIdenticalEdges = false);
/// SplitCriticalEdge - If this edge is a critical edge, insert a new node to
-/// split the critical edge. This will update DominatorTree, and DominatorFrontier
-/// information if it is available, thus calling this pass will not invalidate
-/// either of them. This returns true if the edge was split, false otherwise.
+/// split the critical edge. This will update DominatorTree and
+/// DominatorFrontier information if it is available, thus calling this pass
+/// will not invalidate either of them. This returns true if the edge was split,
+/// false otherwise.
+///
/// If MergeIdenticalEdges is true (the default), *all* edges from TI to the
/// specified successor will be merged into the same critical edge block.
/// This is most commonly interesting with switch instructions, which may