@@ -518,8 +518,8 @@ spirv::Deserializer::processFunction(ArrayRef<uint32_t> operands) {
518
518
}
519
519
520
520
std::string fnName = getFunctionSymbol (fnID);
521
- auto funcOp = opBuilder. create < spirv::FuncOp>(
522
- unknownLoc, fnName, functionType, fnControl.value ());
521
+ auto funcOp = spirv::FuncOp::create (opBuilder, unknownLoc, fnName,
522
+ functionType, fnControl.value ());
523
523
// Processing other function attributes.
524
524
if (decorations.count (fnID)) {
525
525
for (auto attr : decorations[fnID].getAttrs ()) {
@@ -714,8 +714,8 @@ spirv::SpecConstantOp
714
714
spirv::Deserializer::createSpecConstant (Location loc, uint32_t resultID,
715
715
TypedAttr defaultValue) {
716
716
auto symName = opBuilder.getStringAttr (getSpecConstantSymbol (resultID));
717
- auto op = opBuilder. create < spirv::SpecConstantOp>( unknownLoc, symName,
718
- defaultValue);
717
+ auto op = spirv::SpecConstantOp::create (opBuilder, unknownLoc, symName,
718
+ defaultValue);
719
719
if (decorations.count (resultID)) {
720
720
for (auto attr : decorations[resultID].getAttrs ())
721
721
op->setAttr (attr.getName (), attr.getValue ());
@@ -790,9 +790,9 @@ spirv::Deserializer::processGlobalVariable(ArrayRef<uint32_t> operands) {
790
790
<< wordIndex << " of " << operands.size () << " processed" ;
791
791
}
792
792
auto loc = createFileLineColLoc (opBuilder);
793
- auto varOp = opBuilder. create < spirv::GlobalVariableOp> (
794
- loc, TypeAttr::get (type), opBuilder. getStringAttr (variableName ),
795
- initializer);
793
+ auto varOp = spirv::GlobalVariableOp::create (
794
+ opBuilder, loc, TypeAttr::get (type),
795
+ opBuilder. getStringAttr (variableName), initializer);
796
796
797
797
// Decorations.
798
798
if (decorations.count (variableID)) {
@@ -1637,8 +1637,8 @@ spirv::Deserializer::processSpecConstantComposite(ArrayRef<uint32_t> operands) {
1637
1637
elements.push_back (SymbolRefAttr::get (elementInfo));
1638
1638
}
1639
1639
1640
- auto op = opBuilder. create < spirv::SpecConstantCompositeOp> (
1641
- unknownLoc, TypeAttr::get (resultType), symName,
1640
+ auto op = spirv::SpecConstantCompositeOp::create (
1641
+ opBuilder, unknownLoc, TypeAttr::get (resultType), symName,
1642
1642
opBuilder.getArrayAttr (elements));
1643
1643
specConstCompositeMap[resultID] = op;
1644
1644
@@ -1671,8 +1671,8 @@ LogicalResult spirv::Deserializer::processSpecConstantCompositeReplicateEXT(
1671
1671
auto symName = opBuilder.getStringAttr (getSpecConstantSymbol (resultID));
1672
1672
spirv::SpecConstantOp constituentSpecConstantOp =
1673
1673
getSpecConstant (operands[2 ]);
1674
- auto op = opBuilder. create < spirv::EXTSpecConstantCompositeReplicateOp> (
1675
- unknownLoc, TypeAttr::get (resultType), symName,
1674
+ auto op = spirv::EXTSpecConstantCompositeReplicateOp::create (
1675
+ opBuilder, unknownLoc, TypeAttr::get (resultType), symName,
1676
1676
SymbolRefAttr::get (constituentSpecConstantOp));
1677
1677
1678
1678
specConstCompositeReplicateMap[resultID] = op;
@@ -1747,7 +1747,7 @@ Value spirv::Deserializer::materializeSpecConstantOperation(
1747
1747
1748
1748
auto loc = createFileLineColLoc (opBuilder);
1749
1749
auto specConstOperationOp =
1750
- opBuilder. create < spirv::SpecConstantOperationOp>( loc, resultType);
1750
+ spirv::SpecConstantOperationOp::create (opBuilder, loc, resultType);
1751
1751
1752
1752
Region &body = specConstOperationOp.getBody ();
1753
1753
// Move the new block into SpecConstantOperation's body.
@@ -1760,7 +1760,7 @@ Value spirv::Deserializer::materializeSpecConstantOperation(
1760
1760
OpBuilder::InsertionGuard moduleInsertionGuard (opBuilder);
1761
1761
opBuilder.setInsertionPointToEnd (&block);
1762
1762
1763
- opBuilder. create < spirv::YieldOp>( loc, block.front ().getResult (0 ));
1763
+ spirv::YieldOp::create (opBuilder, loc, block.front ().getResult (0 ));
1764
1764
return specConstOperationOp.getResult ();
1765
1765
}
1766
1766
@@ -1824,7 +1824,7 @@ LogicalResult spirv::Deserializer::processBranch(ArrayRef<uint32_t> operands) {
1824
1824
// The preceding instruction for the OpBranch instruction could be an
1825
1825
// OpLoopMerge or an OpSelectionMerge instruction, in this case they will have
1826
1826
// the same OpLine information.
1827
- opBuilder. create < spirv::BranchOp>( loc, target);
1827
+ spirv::BranchOp::create (opBuilder, loc, target);
1828
1828
1829
1829
clearDebugLine ();
1830
1830
return success ();
@@ -1855,8 +1855,8 @@ spirv::Deserializer::processBranchConditional(ArrayRef<uint32_t> operands) {
1855
1855
// an OpSelectionMerge instruction, in this case they will have the same
1856
1856
// OpLine information.
1857
1857
auto loc = createFileLineColLoc (opBuilder);
1858
- opBuilder. create < spirv::BranchConditionalOp> (
1859
- loc, condition, trueBlock,
1858
+ spirv::BranchConditionalOp::create (
1859
+ opBuilder, loc, condition, trueBlock,
1860
1860
/* trueArguments=*/ ArrayRef<Value>(), falseBlock,
1861
1861
/* falseArguments=*/ ArrayRef<Value>(), weights);
1862
1862
@@ -2038,7 +2038,7 @@ ControlFlowStructurizer::createSelectionOp(uint32_t selectionControl) {
2038
2038
OpBuilder builder (&mergeBlock->front ());
2039
2039
2040
2040
auto control = static_cast <spirv::SelectionControl>(selectionControl);
2041
- auto selectionOp = builder. create < spirv::SelectionOp>( location, control);
2041
+ auto selectionOp = spirv::SelectionOp::create (builder, location, control);
2042
2042
selectionOp.addMergeBlock (builder);
2043
2043
2044
2044
return selectionOp;
@@ -2050,7 +2050,7 @@ spirv::LoopOp ControlFlowStructurizer::createLoopOp(uint32_t loopControl) {
2050
2050
OpBuilder builder (&mergeBlock->front ());
2051
2051
2052
2052
auto control = static_cast <spirv::LoopControl>(loopControl);
2053
- auto loopOp = builder. create < spirv::LoopOp>( location, control);
2053
+ auto loopOp = spirv::LoopOp::create (builder, location, control);
2054
2054
loopOp.addEntryAndMergeBlock (builder);
2055
2055
2056
2056
return loopOp;
@@ -2183,8 +2183,8 @@ LogicalResult ControlFlowStructurizer::structurize() {
2183
2183
// The loop entry block should have a unconditional branch jumping to the
2184
2184
// loop header block.
2185
2185
builder.setInsertionPointToEnd (&body.front ());
2186
- builder. create < spirv::BranchOp>( location, mapper.lookupOrNull (headerBlock),
2187
- ArrayRef<Value>(blockArgs));
2186
+ spirv::BranchOp::create (builder, location, mapper.lookupOrNull (headerBlock),
2187
+ ArrayRef<Value>(blockArgs));
2188
2188
}
2189
2189
2190
2190
// Values defined inside the selection region that need to be yielded outside
@@ -2268,12 +2268,12 @@ LogicalResult ControlFlowStructurizer::structurize() {
2268
2268
Operation *newOp = nullptr ;
2269
2269
2270
2270
if (isLoop)
2271
- newOp = builder. create < spirv::LoopOp>(
2272
- location, TypeRange (ValueRange (outsideUses)),
2273
- static_cast <spirv::LoopControl>(control));
2271
+ newOp = spirv::LoopOp::create (builder, location,
2272
+ TypeRange (ValueRange (outsideUses)),
2273
+ static_cast <spirv::LoopControl>(control));
2274
2274
else
2275
- newOp = builder. create < spirv::SelectionOp> (
2276
- location, TypeRange (ValueRange (outsideUses)),
2275
+ newOp = spirv::SelectionOp::create (
2276
+ builder, location, TypeRange (ValueRange (outsideUses)),
2277
2277
static_cast <spirv::SelectionControl>(control));
2278
2278
2279
2279
newOp->getRegion (0 ).takeBody (body);
@@ -2399,7 +2399,7 @@ LogicalResult ControlFlowStructurizer::structurize() {
2399
2399
// but replace all ops inside with a branch to the merge block.
2400
2400
block->clear ();
2401
2401
builder.setInsertionPointToEnd (block);
2402
- builder. create < spirv::BranchOp>( location, mergeBlock);
2402
+ spirv::BranchOp::create (builder, location, mergeBlock);
2403
2403
} else {
2404
2404
LLVM_DEBUG (logger.startLine () << " [cf] erasing block " << block << " \n " );
2405
2405
block->erase ();
@@ -2453,22 +2453,22 @@ LogicalResult spirv::Deserializer::wireUpBlockArgument() {
2453
2453
2454
2454
if (auto branchOp = dyn_cast<spirv::BranchOp>(op)) {
2455
2455
// Replace the previous branch op with a new one with block arguments.
2456
- opBuilder. create < spirv::BranchOp>(branchOp. getLoc () , branchOp.getTarget (),
2457
- blockArgs);
2456
+ spirv::BranchOp::create (opBuilder , branchOp.getLoc (),
2457
+ branchOp. getTarget (), blockArgs);
2458
2458
branchOp.erase ();
2459
2459
} else if (auto branchCondOp = dyn_cast<spirv::BranchConditionalOp>(op)) {
2460
2460
assert ((branchCondOp.getTrueBlock () == target ||
2461
2461
branchCondOp.getFalseBlock () == target) &&
2462
2462
" expected target to be either the true or false target" );
2463
2463
if (target == branchCondOp.getTrueTarget ())
2464
- opBuilder. create < spirv::BranchConditionalOp> (
2465
- branchCondOp.getLoc (), branchCondOp.getCondition (), blockArgs ,
2466
- branchCondOp.getFalseBlockArguments (),
2464
+ spirv::BranchConditionalOp::create (
2465
+ opBuilder, branchCondOp.getLoc (), branchCondOp.getCondition (),
2466
+ blockArgs, branchCondOp.getFalseBlockArguments (),
2467
2467
branchCondOp.getBranchWeightsAttr (), branchCondOp.getTrueTarget (),
2468
2468
branchCondOp.getFalseTarget ());
2469
2469
else
2470
- opBuilder. create < spirv::BranchConditionalOp> (
2471
- branchCondOp.getLoc (), branchCondOp.getCondition (),
2470
+ spirv::BranchConditionalOp::create (
2471
+ opBuilder, branchCondOp.getLoc (), branchCondOp.getCondition (),
2472
2472
branchCondOp.getTrueBlockArguments (), blockArgs,
2473
2473
branchCondOp.getBranchWeightsAttr (), branchCondOp.getTrueBlock (),
2474
2474
branchCondOp.getFalseBlock ());
@@ -2528,7 +2528,7 @@ LogicalResult spirv::Deserializer::splitConditionalBlocks() {
2528
2528
if (!llvm::hasSingleElement (*block) || splitHeaderMergeBlock) {
2529
2529
Block *newBlock = block->splitBlock (terminator);
2530
2530
OpBuilder builder (block, block->end ());
2531
- builder. create < spirv::BranchOp>( block->getParent ()->getLoc (), newBlock);
2531
+ spirv::BranchOp::create (builder, block->getParent ()->getLoc (), newBlock);
2532
2532
2533
2533
// After splitting we need to update the map to use the new block as a
2534
2534
// header.
0 commit comments