import { WeakValueMap } from '../helpers/helpers.ts'; import { PatternMatcher, UOp } from '../ops.ts'; export declare const disp: (y: UOp) => string; export declare class BasicBlock { ctx: UOp[]; lst: UOp[]; end?: UOp | undefined; _id: bigint; static cache: WeakValueMap; constructor(ctx: UOp[], lst: UOp[], end?: UOp | undefined); lt: (o: BasicBlock) => boolean; toString: () => string; } type CTX = [Map, Map]; export declare const append_to_block: (ctx: CTX, x: UOp) => UOp | undefined; export declare const make_basic_blocks: PatternMatcher; export declare const block_merge: (ctx: Map, x: UOp) => UOp | undefined; export declare const pm_block_merge: PatternMatcher, UOp | undefined>; export declare const block_reorder: (in_block: UOp) => UOp; export declare const linearize_uop: (sink: UOp, skip_check?: boolean) => UOp[]; export {};