Lines Matching full:shapes
9 /// \file Pass to pre-config the shapes of AMX registers
10 /// AMX register needs to be configured before use. The shapes of AMX register
13 /// The instruction ldtilecfg is used to config the shapes. It must be reachable
14 /// for all variable shapes. ldtilecfg will be inserted more than once if we
144 unsigned Shapes = 0;
146 Shapes = 1;
148 Shapes = 2;
149 if (!Shapes)
152 collectShapeInfo(MI, Shapes);
168 void collectShapeInfo(MachineInstr &MI, unsigned Shapes);
170 /// Try to hoist shapes definded below AMX instructions.
171 bool hoistShapesInBB(MachineBasicBlock *MBB, SmallVectorImpl<MIRef> &Shapes) {
173 auto FirstShapeBelowAMX = llvm::lower_bound(Shapes, FirstAMX);
175 for (auto I = FirstShapeBelowAMX, E = Shapes.end(); I != E; ++I) {
191 Shapes.clear();
192 Shapes.push_back(MIRef(&*--InsertPoint, MBB));
234 void X86PreTileConfig::collectShapeInfo(MachineInstr &MI, unsigned Shapes) {
242 // All shapes have same row in multi-tile operand.
244 for (unsigned I = 1; I < Shapes + 2; ++I)
346 // TODO: We can hoist shapes across BBs here.
385 // If the BB is all shapes reachable, stop sink and try to insert.
391 // true when MBB isn't all shapes reachable.