13#ifndef MLIR_SUPPORT_TOOLUTILITIES_H
14#define MLIR_SUPPORT_TOOLUTILITIES_H
17#include "llvm/ADT/STLExtras.h"
18#include "llvm/ADT/StringRef.h"
31 std::unique_ptr<llvm::MemoryBuffer> chunkBuffer,
32 const llvm::MemoryBufferRef &sourceBuffer,
raw_ostream &os)>;
34 std::unique_ptr<llvm::MemoryBuffer> chunkBuffer,
raw_ostream &os)>;
53 llvm::StringRef outputSplitMarker =
"");
62 llvm::StringRef outputSplitMarker =
"");
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Include the generated interface declarations.
const char *const kDefaultSplitMarker
LogicalResult splitAndProcessBuffer(std::unique_ptr< llvm::MemoryBuffer > originalBuffer, ChunkBufferHandler processChunkBuffer, raw_ostream &os, llvm::StringRef inputSplitMarker=kDefaultSplitMarker, llvm::StringRef outputSplitMarker="")
Splits the specified buffer on a marker (// ----- by default), processes each chunk independently acc...
function_ref< LogicalResult( std::unique_ptr< llvm::MemoryBuffer > chunkBuffer, raw_ostream &os)> NoSourceChunkBufferHandler
function_ref< LogicalResult( std::unique_ptr< llvm::MemoryBuffer > chunkBuffer, const llvm::MemoryBufferRef &sourceBuffer, raw_ostream &os)> ChunkBufferHandler
llvm::function_ref< Fn > function_ref