Skip to content

Commit

Permalink
treewide: Obliterate graph regions.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jezurko committed Sep 20, 2024
1 parent d015f04 commit 2073ac1
Show file tree
Hide file tree
Showing 16 changed files with 16 additions and 63 deletions.
1 change: 0 additions & 1 deletion include/vast/Dialect/ABI/ABI.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ include "mlir/IR/OpAsmInterface.td"
include "mlir/IR/SymbolInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "mlir/Interfaces/InferTypeOpInterface.td"
include "mlir/IR/RegionKindInterface.td"

include "vast/Dialect/Core/Interfaces/SymbolInterface.td"

Expand Down
1 change: 0 additions & 1 deletion include/vast/Dialect/Builtin/Builtin.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ include "mlir/IR/OpAsmInterface.td"
include "mlir/IR/SymbolInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "mlir/Interfaces/InferTypeOpInterface.td"
include "mlir/IR/RegionKindInterface.td"
include "mlir/IR/BuiltinAttributeInterfaces.td"

def HLBuiltin_Dialect : Dialect {
Expand Down
4 changes: 1 addition & 3 deletions include/vast/Dialect/Core/CoreOps.td
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ include "mlir/IR/OpBase.td"

include "mlir/Dialect/DLTI/DLTIBase.td"
include "mlir/Interfaces/DataLayoutInterfaces.td"
include "mlir/IR/RegionKindInterface.td"

include "vast/Dialect/Core/CoreTraits.td"
include "vast/Dialect/Core/Interfaces/SymbolTableInterface.td"
Expand Down Expand Up @@ -77,8 +76,7 @@ def Core_ScopeOp : Core_Op< "scope", [
NoTerminator, Core_ScopeLikeTrait,
Core_ShadowingSymbolTable< [
[Core_VarSymbol, Core_TypeSymbol], [Core_ElaboratedTypeSymbol]
] >,
DeclareOpInterfaceMethods<RegionKindInterface>
] >
] > {
let summary = "VAST scope declaration";
let description = [{
Expand Down
4 changes: 1 addition & 3 deletions include/vast/Dialect/Core/Func.td
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#define VAST_DIALECT_CORE_FUNC

include "mlir/IR/OpBase.td"
include "mlir/IR/RegionKindInterface.td"

include "mlir/Interfaces/CallInterfaces.td"
include "mlir/Interfaces/FunctionInterfaces.td"
Expand Down Expand Up @@ -38,8 +37,7 @@ class Core_FuncBaseOp< Dialect dialect, string mnemonic, list< Trait > traits =
FunctionOpInterface,
IsolatedFromAbove,
Core_FuncSymbol,
NoTerminator,
DeclareOpInterfaceMethods< RegionKindInterface >
NoTerminator
])
> {
let summary = "VAST function template";
Expand Down
1 change: 0 additions & 1 deletion include/vast/Dialect/HighLevel/HighLevel.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ include "mlir/IR/OpAsmInterface.td"
include "mlir/IR/SymbolInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "mlir/Interfaces/InferTypeOpInterface.td"
include "mlir/IR/RegionKindInterface.td"
include "mlir/IR/BuiltinAttributeInterfaces.td"

include "vast/Dialect/Core/Interfaces/SymbolInterface.td"
Expand Down
4 changes: 2 additions & 2 deletions include/vast/Dialect/HighLevel/HighLevelCF.td
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ include "vast/Dialect/Core/Interfaces/SymbolInterface.td"

class HighLevel_ControlFlowOp< string mnemonic, list< Trait > traits = [] >
: HighLevel_Op< mnemonic, !listconcat(traits,
[NoTerminator, NoRegionArguments, DeclareOpInterfaceMethods<RegionKindInterface>]
[NoTerminator, NoRegionArguments]
) >
{
let summary = "VAST control flow operation";
Expand Down Expand Up @@ -254,7 +254,7 @@ def HighLevel_ChooseExprOp : HighLevel_ControlFlowOp< "choose_expr" >
def HighLevel_BinaryCondOp
: HighLevel_Op<
"binary_cond",
[NoTerminator, DeclareOpInterfaceMethods<RegionKindInterface>]
[NoTerminator]
>
, Results<(outs AnyType:$result)>
{
Expand Down
2 changes: 1 addition & 1 deletion include/vast/Dialect/HighLevel/HighLevelOps.td
Original file line number Diff line number Diff line change
Expand Up @@ -1472,7 +1472,7 @@ def HighLevel_OffsetOfExprOp
}

def HighLevel_StmtExprOp
: HighLevel_Op< "stmt.expr", [SingleBlock, DeclareOpInterfaceMethods<RegionKindInterface>] >
: HighLevel_Op< "stmt.expr", [SingleBlock] >
, Results<(outs AnyType:$result)>
{
let summary = "VAST statement expression";
Expand Down
1 change: 0 additions & 1 deletion include/vast/Dialect/LowLevel/LowLevel.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ include "mlir/IR/OpAsmInterface.td"
include "mlir/IR/SymbolInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "mlir/Interfaces/InferTypeOpInterface.td"
include "mlir/IR/RegionKindInterface.td"

include "vast/Dialect/Core/Interfaces/SymbolInterface.td"

Expand Down
1 change: 0 additions & 1 deletion include/vast/Dialect/Meta/Meta.td
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ include "mlir/IR/OpAsmInterface.td"
include "mlir/IR/SymbolInterfaces.td"
include "mlir/Interfaces/SideEffectInterfaces.td"
include "mlir/Interfaces/InferTypeOpInterface.td"
include "mlir/IR/RegionKindInterface.td"

include "vast/Dialect/Core/Interfaces/SymbolInterface.td"

Expand Down
9 changes: 0 additions & 9 deletions include/vast/Util/Dialect.hpp

This file was deleted.

4 changes: 0 additions & 4 deletions lib/vast/Dialect/ABI/ABIOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ VAST_RELAX_WARNINGS
#include <mlir/IR/Builders.h>
VAST_UNRELAX_WARNINGS

#include "vast/Util/Dialect.hpp"

#include "vast/Dialect/Core/Func.hpp"

namespace vast::abi
Expand Down Expand Up @@ -112,8 +110,6 @@ namespace vast::abi
setOperand(0, callee.get< mlir_value >());
}

SSACFG_REGION_OP( FuncOp );

logical_result FuncOp::verify() {
return core::verifyFuncOp(*this);
}
Expand Down
3 changes: 0 additions & 3 deletions lib/vast/Dialect/Core/CoreOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include "vast/Dialect/Core/CoreAttributes.hpp"

#include "vast/Util/Common.hpp"
#include "vast/Util/Dialect.hpp"

#include <mlir/Support/LLVM.h>
#include <mlir/Support/LogicalResult.h>
Expand All @@ -25,8 +24,6 @@

namespace vast::core
{
GRAPH_REGION_OP(ScopeOp);

//
// ModuleOp
//
Expand Down
1 change: 0 additions & 1 deletion lib/vast/Dialect/Core/Func.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ VAST_UNRELAX_WARNINGS
#include "vast/Dialect/Core/Linkage.hpp"

#include "vast/Util/Common.hpp"
#include "vast/Util/Dialect.hpp"
#include "vast/Util/Region.hpp"

namespace vast::core
Expand Down
18 changes: 0 additions & 18 deletions lib/vast/Dialect/HighLevel/HighLevelOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ VAST_UNRELAX_WARNINGS
#include "vast/Dialect/Core/SymbolTable.hpp"

#include "vast/Util/Common.hpp"
#include "vast/Util/Dialect.hpp"
#include "vast/Util/Region.hpp"
#include "vast/Util/TypeUtils.hpp"
#include "vast/Util/Enum.hpp"
Expand Down Expand Up @@ -846,23 +845,6 @@ namespace vast::hl
st.addTypes(type);
}

GRAPH_REGION_OP(FuncOp);
GRAPH_REGION_OP(StmtExprOp);

GRAPH_REGION_OP(IfOp);
GRAPH_REGION_OP(WhileOp);
GRAPH_REGION_OP(ForOp);
GRAPH_REGION_OP(DoOp);
GRAPH_REGION_OP(SwitchOp);
GRAPH_REGION_OP(CaseOp);
GRAPH_REGION_OP(DefaultOp);
GRAPH_REGION_OP(LabelStmt);
GRAPH_REGION_OP(BreakOp);
GRAPH_REGION_OP(CondOp);
GRAPH_REGION_OP(ChooseExprOp);
GRAPH_REGION_OP(BinaryCondOp);
GRAPH_REGION_OP(ContinueOp);

std::size_t handle_size_of(auto op, mlir_type type) {
auto eval = [op] (mlir_type ty) -> std::size_t {
// sizeof(void), sizeof(function) = 1 as a gcc extension
Expand Down
3 changes: 0 additions & 3 deletions lib/vast/Dialect/LowLevel/LowLevelOps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ VAST_RELAX_WARNINGS
#include <mlir/Interfaces/FunctionImplementation.h>
VAST_UNRELAX_WARNINGS

#include "vast/Util/Dialect.hpp"
#include "vast/Util/Region.hpp"

namespace vast::ll
Expand Down Expand Up @@ -49,8 +48,6 @@ namespace vast::ll
return core::printFunctionSignatureAndBodyImpl(printer, op, function_type, dict_attr, body);
}

SSACFG_REGION_OP( FuncOp );

} // namespace vast::ll

#define GET_OP_CLASSES
Expand Down
22 changes: 11 additions & 11 deletions test/vast/Dialect/HighLevel/vars-c.c
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
// RUN: %vast-front -vast-emit-mlir=hl -o - %s | %file-check %s
// REQUIRES: non-graph-regions
// REQUIRES: loop-init-section

#include <stdlib.h>

int main() {
// CHECK: hl.var @y : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[Y:@y]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[Y]]
int *y = malloc(sizeof(*y));
if(1) {
// CHECK: hl.var @x : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[X:@x]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[X]]
int *x = malloc(sizeof(*x));
}
while(1) {
// CHECK: hl.var @x : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[X:@x]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[X]]
int *x = malloc(sizeof(*x));
}
do{
// CHECK: hl.var @x : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[X:@x]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[X]]
int *x = malloc(sizeof(*x));
}while(0);
// CHECK: core.scope
// CHECK-NEXT: hl.var @x : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK-NEXT: hl.var [[X:@x]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[X]]
for(int *x = malloc(sizeof(*x)); *x<100; *x++) {
// CHECK: do
// CHECK-NEXT: hl.var @f : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK-NEXT: hl.var [[F:@f]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[F]]
int *f = malloc(sizeof(*f));
Expand All @@ -43,7 +43,7 @@ int main() {
if (*y) {
case 2: case 3: case 5: case 7: {
// CHECK: hl.case
// CHECK: hl.var @x : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[X:@x]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[X]]
int *x = malloc(sizeof(*x));
Expand All @@ -57,13 +57,13 @@ int main() {
case 1:
default: {
// CHECK: hl.default
// CHECK: hl.var @z : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[Z:@z]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[Z]]
int *z = malloc(sizeof(*z));
}
}
// CHECK: hl.var @g : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[G:@g]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.cond
// CHECK: ?
// CHECK: hl.sizeof.expr
Expand All @@ -73,7 +73,7 @@ int main() {
int *g = y ? malloc(sizeof(*g)) : y ;
({
// CHECK: hl.stmt.expr
// CHECK: hl.var @z : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.var [[Z:@z]] : !hl.lvalue<!hl.ptr<!hl.int>>
// CHECK: hl.sizeof.expr
// CHECK: hl.ref [[Z]]
int *z = malloc(sizeof(*z));
Expand Down

0 comments on commit 2073ac1

Please sign in to comment.