-struct MachineBasicBlock {
- unsigned ID;
- StringValue Name;
- StringValue IRBlock;
- unsigned Alignment = 0;
- bool IsLandingPad = false;
- bool AddressTaken = false;
- std::vector<FlowStringValue> Successors;
- std::vector<UnsignedValue> SuccessorWeights;
- std::vector<FlowStringValue> LiveIns;
- std::vector<StringValue> Instructions;
-};
-
-template <> struct MappingTraits<MachineBasicBlock> {
- static void mapping(IO &YamlIO, MachineBasicBlock &MBB) {
- YamlIO.mapRequired("id", MBB.ID);
- YamlIO.mapOptional("name", MBB.Name,
- StringValue()); // Don't print out an empty name.
- YamlIO.mapOptional("ir-block", MBB.IRBlock,
- StringValue()); // Don't print out an empty BB reference.
- YamlIO.mapOptional("alignment", MBB.Alignment);
- YamlIO.mapOptional("isLandingPad", MBB.IsLandingPad);
- YamlIO.mapOptional("addressTaken", MBB.AddressTaken);
- YamlIO.mapOptional("successors", MBB.Successors);
- YamlIO.mapOptional("weights", MBB.SuccessorWeights);
- YamlIO.mapOptional("liveins", MBB.LiveIns);
- YamlIO.mapOptional("instructions", MBB.Instructions);
- }
-};
-