
IGLP itself will be in SavedMutations via mutations added during Scheduler creation, thus falling back results in reapplying IGLP. In PostRA scheduling, if we have multiple regions with IGLP instructions, then we may have infinite loop. Disable the feature for now.
29 lines
892 B
C++
29 lines
892 B
C++
//===- AMDGPUMFMAIGroupLP.h - AMDGPU MFMA IGroupLP --------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUMFMAIGROUPLP_H
|
|
#define LLVM_LIB_TARGET_AMDGPU_AMDGPUMFMAIGROUPLP_H
|
|
|
|
#include "llvm/CodeGen/ScheduleDAGMutation.h"
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
namespace llvm {
|
|
|
|
namespace AMDGPU {
|
|
// The current phase of instruction scheduling
|
|
enum class SchedulingPhase { Initial, PreRAReentry, PostRA };
|
|
} // namespace AMDGPU
|
|
|
|
std::unique_ptr<ScheduleDAGMutation>
|
|
createIGroupLPDAGMutation(AMDGPU::SchedulingPhase Phase);
|
|
|
|
} // namespace llvm
|
|
|
|
#endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUMFMAIGROUPLP_H
|