//===-- LegalizeDAGTypes.cpp - Implement SelectionDAG::LegalizeTypes ------===////// The LLVM Compiler Infrastructure//// This file was developed by Chris Lattner and is distributed under// the University of Illinois Open Source License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements the SelectionDAG::LegalizeTypes method. It transforms// an arbitrary well-formed SelectionDAG to only consist of legal types.////===----------------------------------------------------------------------===//#define DEBUG_TYPE "legalize-types"#include"llvm/CodeGen/SelectionDAG.h"#include"llvm/Target/TargetLowering.h"#include"llvm/ADT/DenseMap.h"#include"llvm/Support/Compiler.h"#include"llvm/Support/Debug.h"usingnamespacellvm;//===----------------------------------------------------------------------===///// DAGTypeLegalizer - This takes an arbitrary SelectionDAG as input and/// hacks on it until the target machine can handle it. This involves/// eliminating value sizes the machine cannot handle (promoting small sizes to/// large sizes or splitting up large values into