#define LIBSPIRV_BINARY_H_
#include "spirv-tools/libspirv.h"
-#include "table.h"
+#include "spirv/1.1/spirv.h"
+#include "spirv_definition.h"
// Functions
#include <cstdint>
#include <vector>
+#include "spirv-tools/libspirv.h"
#include "spirv/1.1/spirv.h"
-#include "table.h"
-
// Describes an instruction.
struct spv_instruction_t {
// Normally, both opcode and extInstType contain valid data.
#include <cstdint>
-#include "spirv-tools/libspirv.h"
+#include "spirv/1.1/spirv.h"
#define spvIsInBitfield(value, bitfield) ((value) == ((value)&bitfield))
#include "spirv-tools/libspirv.h"
#include "spirv/1.1/spirv.h"
#include "spirv_definition.h"
+#include "val/Function.h"
#include "val/Id.h"
namespace libspirv {
kLayoutFunctionDefinitions /// < Section 2.4 #11
};
-class Function;
-
/// This class manages the state of the SPIR-V validation as it is being parsed.
class ValidationState_t {
public:
#ifndef LIBSPIRV_VALIDATE_H_
#define LIBSPIRV_VALIDATE_H_
-#include <algorithm>
-#include <array>
#include <functional>
-#include <map>
-#include <string>
-#include <unordered_map>
-#include <unordered_set>
#include <utility>
#include <vector>
-#include "assembly_grammar.h"
-#include "binary.h"
-#include "diagnostic.h"
#include "instruction.h"
#include "spirv-tools/libspirv.h"
-#include "spirv_definition.h"
#include "table.h"
-#include "val/BasicBlock.h"
-
-// Structures
namespace libspirv {
class ValidationState_t;
+class BasicBlock;
/// A function that returns a vector of BasicBlocks given a BasicBlock. Used to
/// get the successor and predecessor nodes of a CFG block
#include <cassert>
+#include <algorithm>
#include <iostream>
#include <unordered_map>
#include <vector>