Home
last modified time | relevance | path

Searched refs:Matrix (Results 1 – 25 of 89) sorted by relevance

1234

/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/PBQP/
H A DMath.h110 class Matrix {
112 friend hash_code hash_value(const Matrix &);
116 Matrix(unsigned Rows, unsigned Cols) : in Matrix() function
122 Matrix(unsigned Rows, unsigned Cols, PBQPNum InitVal) in Matrix() function
129 Matrix(const Matrix &M) in Matrix() function
136 Matrix(Matrix &&M) in Matrix() function
142 bool operator==(const Matrix &M) const {
194 Matrix transpose() const { in transpose()
196 Matrix M(Cols, Rows); in transpose()
204 Matrix& operator+=(const Matrix &M) {
[all …]
H A DReductionRules.h34 using Matrix = typename GraphT::Matrix; in applyR1() local
43 const Matrix &ECosts = G.getEdgeCosts(EId); in applyR1()
78 using Matrix = typename GraphT::Matrix; in applyR2() local
96 const Matrix *YXECosts = FlipEdge1 ? in applyR2()
97 new Matrix(G.getEdgeCosts(YXEId).transpose()) : in applyR2()
100 const Matrix *ZXECosts = FlipEdge2 ? in applyR2()
101 new Matrix(G.getEdgeCosts(ZXEId).transpose()) : in applyR2()
134 const Matrix &YZECosts = G.getEdgeCosts(YZEId); in applyR2()
182 using Matrix = typename GraphT::Matrix; in backpropagate() local
203 const Matrix& edgeCosts = G.getEdgeCosts(EId); in backpropagate()
H A DGraph.h54 using Matrix = typename SolverT::Matrix; variable
530 const Matrix& getEdgeCosts(EdgeId EId) const { in getEdgeCosts()
H A DCostAllocator.h114 using Matrix = MatrixT; variable
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp316 ArrayRef<Instruction *> Matrix, in interleave8bitStride4VF8() argument
342 Builder.CreateShuffleVector(Matrix[0], Matrix[1], MaskLow); in interleave8bitStride4VF8()
344 Builder.CreateShuffleVector(Matrix[2], Matrix[3], MaskLow); in interleave8bitStride4VF8()
356 ArrayRef<Instruction *> Matrix, SmallVectorImpl<Value *> &TransposedMatrix, in interleave8bitStride4() argument
394 IntrVec[0] = Builder.CreateShuffleVector(Matrix[0], Matrix[1], MaskLow); in interleave8bitStride4()
395 IntrVec[1] = Builder.CreateShuffleVector(Matrix[0], Matrix[1], MaskHigh); in interleave8bitStride4()
396 IntrVec[2] = Builder.CreateShuffleVector(Matrix[2], Matrix[3], MaskLow); in interleave8bitStride4()
397 IntrVec[3] = Builder.CreateShuffleVector(Matrix[2], Matrix[3], MaskHigh); in interleave8bitStride4()
682 ArrayRef<Instruction *> Matrix, in transpose_4x4() argument
684 assert(Matrix.size() == 4 && "Invalid matrix size"); in transpose_4x4()
[all …]
H A DX86RegisterInfo.h177 const LiveRegMatrix *Matrix) const override;
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIPreAllocateWWMRegs.cpp43 LiveRegMatrix *Matrix; member in __anonf07969e70111::SIPreAllocateWWMRegs
55 SIPreAllocateWWMRegs(LiveIntervals *LIS, LiveRegMatrix *Matrix, in SIPreAllocateWWMRegs() argument
57 : LIS(LIS), Matrix(Matrix), VRM(VRM) {} in SIPreAllocateWWMRegs()
111 Matrix->checkInterference(LI, PhysReg) == LiveRegMatrix::IK_Free) { in processDef()
112 Matrix->assign(LI, PhysReg); in processDef()
193 auto *Matrix = &getAnalysis<LiveRegMatrixWrapperLegacy>().getLRM(); in runOnMachineFunction() local
195 return SIPreAllocateWWMRegs(LIS, Matrix, VRM).run(MF); in runOnMachineFunction()
266 auto *Matrix = &MFAM.getResult<LiveRegMatrixAnalysis>(MF); in run() local
268 SIPreAllocateWWMRegs(LIS, Matrix, VRM).run(MF); in run()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DLiveRegMatrix.cpp67 if (NumRegUnits != Matrix.size()) in init()
69 Matrix.init(*LIUAlloc, NumRegUnits); in init()
78 for (unsigned i = 0, e = Matrix.size(); i != e; ++i) { in releaseMemory()
79 Matrix[i].clear(); in releaseMemory()
120 Matrix[Unit].unify(VirtReg, Range); in assign()
137 Matrix[Unit].extract(VirtReg, Range); in unassign()
147 if (!Matrix[Unit].empty()) in isPhysRegUsed()
189 Q.init(UserTag, LR, Matrix[RegUnit]); in query()
241 Q.reset(UserTag, LR, Matrix[Unit]); in checkInterference()
275 Q.reset(UserTag, LR, Matrix[Unit]); in checkInterferenceLanes()
[all …]
H A DRegAllocBasic.cpp150 Matrix->unassign(LI); in INITIALIZE_PASS_DEPENDENCY()
168 Matrix->unassign(LI); in LRE_WillShrinkVirtReg()
218 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, Unit); in spillInterferences()
237 Matrix->unassign(*Spill); in spillInterferences()
265 AllocationOrder::create(VirtReg.reg(), *VRM, RegClassInfo, Matrix); in selectOrSplit()
269 switch (Matrix->checkInterference(VirtReg, PhysReg)) { in selectOrSplit()
290 assert(!Matrix->checkInterference(VirtReg, PhysReg) && in selectOrSplit()
H A DAllocationOrder.cpp31 const LiveRegMatrix *Matrix) { in create() argument
37 TRI->getRegAllocationHints(VirtReg, Order, Hints, MF, &VRM, Matrix); in create()
H A DRegAllocGreedy.cpp204 Matrix = Analyses.LRM; in RAGreedy()
372 Matrix->unassign(LI); in LRE_CanEraseVirtReg()
390 Matrix->unassign(LI); in LRE_WillShrinkVirtReg()
538 if (!Matrix->checkInterference(VirtReg, *I)) { in tryAssign()
593 LiveIntervalUnion::Query SubQ(VirtReg, Matrix->getLiveUnions()[Unit]); in canReassign()
598 AllocationOrder::create(VirtReg.reg(), *VRM, RegClassInfo, Matrix)) { in canReassign()
629 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, Unit); in evictInterference()
644 Matrix->unassign(*Intf); in evictInterference()
661 return !Matrix->isPhysRegUsed(PhysReg); in isUnusedCalleeSavedReg()
1642 if (!Matrix->query(const_cast<LiveInterval &>(SA->getParent()), Unit) in calcGapWeights()
[all …]
H A DRegAllocBase.cpp65 Matrix = &mat; in init()
103 Matrix->invalidateVirtRegs(); in allocatePhysRegs()
133 Matrix->assign(*VirtReg, AvailablePhysReg); in allocatePhysRegs()
H A DRegAllocEvictionAdvisor.cpp183 : MF(MF), RA(RA), Matrix(RA.getInterferenceMatrix()), in RegAllocEvictionAdvisor()
245 if (Matrix->checkInterference(VirtReg, PhysReg) > LiveRegMatrix::IK_VirtReg) in canEvictInterferenceBasedOnCost()
261 LiveIntervalUnion::Query &Q = Matrix->query(VirtReg, Unit); in canEvictInterferenceBasedOnCost()
H A DRegAllocBase.h71 LiveRegMatrix *Matrix = nullptr; variable
H A DAllocationOrder.h86 const LiveRegMatrix *Matrix);
H A DInlineSpiller.cpp153 LiveRegMatrix *Matrix = nullptr; member in __anon2f89086e0111::InlineSpiller
190 VirtRegMap &VRM, VirtRegAuxInfo &VRAI, LiveRegMatrix *Matrix) in InlineSpiller() argument
193 TRI(*MF.getSubtarget().getRegisterInfo()), Matrix(Matrix), in InlineSpiller()
236 VirtRegAuxInfo &VRAI, LiveRegMatrix *Matrix) { in createInlineSpiller() argument
237 return new InlineSpiller(Analyses, MF, VRM, VRAI, Matrix); in createInlineSpiller()
625 if (!Order || !Matrix) in hasPhysRegAvailable()
632 if (!Matrix->checkInterference(PrevIdx, UseIdx, PhysReg)) in hasPhysRegAvailable()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DMatrixBuilder.h89 CallInst *CreateColumnMajorStore(Value *Matrix, Value *Ptr, Align Alignment,
93 Value *Ops[] = {Matrix, Ptr,
96 Type *OverloadedTypes[] = {Matrix->getType(), Stride->getType()};
110 CallInst *CreateMatrixTranspose(Value *Matrix, unsigned Rows,
112 auto *OpType = cast<VectorType>(Matrix->getType());
117 Value *Ops[] = {Matrix, B.getInt32(Rows), B.getInt32(Columns)};
146 Value *CreateMatrixInsert(Value *Matrix, Value *NewVal, Value *RowIdx, in CreateMatrixInsert() argument
149 Matrix, NewVal, in CreateMatrixInsert()
/freebsd/sys/contrib/device-tree/Bindings/mfd/
H A Datmel-matrix.txt1 * Device tree bindings for Atmel Bus Matrix
3 The Bus Matrix registers are used to configure Atmel SoCs internal bus
18 - reg: Contains offset/length value of the Bus Matrix
/freebsd/sys/contrib/device-tree/src/arm/marvell/
H A Darmada-xp-matrix.dts3 * Device Tree file for Marvell Armada XP Matrix board
14 model = "Marvell Armada XP Matrix Board";
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DLiveRegMatrix.h52 LiveIntervalUnion::Array Matrix; variable
168 LiveIntervalUnion *getLiveUnions() { return &Matrix[0]; } in getLiveUnions()
H A DRegAllocPBQP.h55 MatrixMetadata(const Matrix& M) in MatrixMetadata()
276 using RawMatrix = PBQP::Matrix;
278 using Matrix = RAMatrix; variable
279 using CostAllocator = PBQP::PoolCostAllocator<Vector, Matrix>;
328 void handleUpdateCosts(EdgeId EId, const Matrix& NewCosts) { in handleUpdateCosts()
H A DSpiller.h64 LiveRegMatrix *Matrix = nullptr);
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64Features.td163 "Enable Matrix Multiply Int8 Extension", [FeatureNEON]>;
167 "Enable Matrix Multiply FP32 Extension", [FeatureSVE]>;
171 "Enable Matrix Multiply FP64 Extension", [FeatureSVE]>;
415 "Enable Scalable Matrix Extension (SME)", [FeatureBF16, FeatureFullFP16]>;
418 "Enable Scalable Matrix Extension (SME) F64F64 instructions", [FeatureSME]>;
421 "Enable Scalable Matrix Extension (SME) I16I64 instructions", [FeatureSME]>;
431 "Enable Scalable Matrix Extension 2 (SME2) instructions", [FeatureSME]>;
454 "Enable Scalable Matrix Extension 2.1 instructions", [FeatureSME2]>;
509 "Enable Scalable Matrix Extension (SME) LUTv2 instructions", [FeatureSME2]>;
512 "Enable Scalable Matrix Extension (SME) F8F32 instructions", [FeatureSME2, FeatureFP8]>;
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZRegisterInfo.h152 const LiveRegMatrix *Matrix) const override;
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVRegisterInfo.h145 const LiveRegMatrix *Matrix) const override;

1234