LLVM: lib/CodeGen/MachineVerifier.cpp File Reference (original) (raw)

Functions

MachineVerifier.cpp File Reference

#include "[llvm/CodeGen/MachineVerifier.h](MachineVerifier%5F8h%5Fsource.html)"
#include "[llvm/ADT/BitVector.h](BitVector%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseMap.h](DenseMap%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseSet.h](DenseSet%5F8h%5Fsource.html)"
#include "[llvm/ADT/DepthFirstIterator.h](DepthFirstIterator%5F8h%5Fsource.html)"
#include "[llvm/ADT/PostOrderIterator.h](PostOrderIterator%5F8h%5Fsource.html)"
#include "[llvm/ADT/STLExtras.h](STLExtras%5F8h%5Fsource.html)"
#include "[llvm/ADT/SetOperations.h](SetOperations%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallPtrSet.h](SmallPtrSet%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallVector.h](SmallVector%5F8h%5Fsource.html)"
#include "[llvm/ADT/StringRef.h](StringRef%5F8h%5Fsource.html)"
#include "[llvm/ADT/Twine.h](Twine%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/CodeGenCommonISel.h](CodeGenCommonISel%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/GlobalISel/GenericMachineInstrs.h](GenericMachineInstrs%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/LiveInterval.h](LiveInterval%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/LiveIntervals.h](LiveIntervals%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/LiveRangeCalc.h](LiveRangeCalc%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/LiveStacks.h](LiveStacks%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/LiveVariables.h](LiveVariables%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineBasicBlock.h](MachineBasicBlock%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineConvergenceVerifier.h](MachineConvergenceVerifier%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineDominators.h](MachineDominators%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFrameInfo.h](MachineFrameInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFunction.h](MachineFunction%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineFunctionPass.h](MachineFunctionPass%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineInstr.h](MachineInstr%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineInstrBundle.h](MachineInstrBundle%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineMemOperand.h](MachineMemOperand%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineOperand.h](MachineOperand%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineRegisterInfo.h](MachineRegisterInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/PseudoSourceValue.h](PseudoSourceValue%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/RegisterBank.h](RegisterBank%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/RegisterBankInfo.h](RegisterBankInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/SlotIndexes.h](SlotIndexes%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/StackMaps.h](StackMaps%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetInstrInfo.h](TargetInstrInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetLowering.h](TargetLowering%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetOpcodes.h](TargetOpcodes%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetRegisterInfo.h](TargetRegisterInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetSubtargetInfo.h](TargetSubtargetInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGenTypes/LowLevelType.h](LowLevelType%5F8h%5Fsource.html)"
#include "[llvm/IR/BasicBlock.h](IR%5F2BasicBlock%5F8h%5Fsource.html)"
#include "[llvm/IR/Constants.h](Constants%5F8h%5Fsource.html)"
#include "[llvm/IR/EHPersonalities.h](EHPersonalities%5F8h%5Fsource.html)"
#include "[llvm/IR/Function.h](IR%5F2Function%5F8h%5Fsource.html)"
#include "[llvm/IR/InlineAsm.h](InlineAsm%5F8h%5Fsource.html)"
#include "[llvm/IR/Instructions.h](Instructions%5F8h%5Fsource.html)"
#include "[llvm/InitializePasses.h](InitializePasses%5F8h%5Fsource.html)"
#include "[llvm/MC/LaneBitmask.h](LaneBitmask%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAsmInfo.h](MCAsmInfo%5F8h%5Fsource.html)"
#include "[llvm/MC/MCDwarf.h](MCDwarf%5F8h%5Fsource.html)"
#include "[llvm/MC/MCInstrDesc.h](MCInstrDesc%5F8h%5Fsource.html)"
#include "[llvm/MC/MCRegisterInfo.h](MCRegisterInfo%5F8h%5Fsource.html)"
#include "[llvm/MC/MCTargetOptions.h](MCTargetOptions%5F8h%5Fsource.html)"
#include "[llvm/Pass.h](Pass%5F8h%5Fsource.html)"
#include "[llvm/Support/Casting.h](Casting%5F8h%5Fsource.html)"
#include "[llvm/Support/ErrorHandling.h](llvm%5F2Support%5F2ErrorHandling%5F8h%5Fsource.html)"
#include "[llvm/Support/ManagedStatic.h](ManagedStatic%5F8h%5Fsource.html)"
#include "[llvm/Support/MathExtras.h](MathExtras%5F8h%5Fsource.html)"
#include "[llvm/Support/ModRef.h](ModRef%5F8h%5Fsource.html)"
#include "[llvm/Support/Mutex.h](Mutex%5F8h%5Fsource.html)"
#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"
#include "[llvm/Target/TargetMachine.h](llvm%5F2Target%5F2TargetMachine%5F8h%5Fsource.html)"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <string>
#include <utility>

Go to the source code of this file.

Functions
INITIALIZE_PASS (MachineVerifierLegacyPass, "machineverifier", "Verify generated machine code", false, false) FunctionPass *llvm
static void verifyConvergenceControl (const MachineFunction &MF, MachineDominatorTree &DT, std::function< void(const Twine &Message)> FailureCB, raw_ostream &OS)

Function Documentation

INITIALIZE_PASS()

INITIALIZE_PASS ( MachineVerifierLegacyPass ,
"machineverifier" ,
"Verify generated machine code" ,
false ,
false )

Definition at line 410 of file MachineVerifier.cpp.

References const, and llvm::createMachineVerifierPass().

verifyConvergenceControl()

void verifyConvergenceControl ( const MachineFunction & MF, MachineDominatorTree & DT, std::function< void(const Twine &Message)> FailureCB, raw_ostream & OS ) static

Definition at line 3459 of file MachineVerifier.cpp.

References llvm::GenericConvergenceVerifier< ContextT >::initialize(), MBB, MI, llvm::DominatorTreeBase< NodeT, IsPostDom >::recalculate(), llvm::GenericConvergenceVerifier< ContextT >::sawTokens(), llvm::GenericConvergenceVerifier< ContextT >::verify(), and llvm::GenericConvergenceVerifier< ContextT >::visit().


Generated on for LLVM by doxygen 1.14.0