Files
archived-llvm/include/llvm/CodeGen/MachineCombinerPattern.h
Chad Rosier c5d4530d42 [Machine Combiner] Refactor machine reassociation code to be target-independent.
No functional change intended.
Patch by Haicheng Wu <haicheng@codeaurora.org>!

http://reviews.llvm.org/D12887
PR24522

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248164 91177308-0d34-0410-b5e6-96231b3b80d8
2015-09-21 15:09:11 +00:00

52 lines
1.4 KiB
C++

//===-- llvm/CodeGen/MachineCombinerPattern.h - Instruction pattern supported by
// combiner ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines instruction pattern supported by combiner
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_CODEGEN_MACHINECOMBINERPATTERN_H
#define LLVM_CODEGEN_MACHINECOMBINERPATTERN_H
namespace llvm {
/// Enumeration of instruction pattern supported by machine combiner
///
///
namespace MachineCombinerPattern {
// Forward declaration
enum MC_PATTERN : int {
// These are commutative variants for reassociating a computation chain. See
// the comments before getMachineCombinerPatterns() in TargetInstrInfo.cpp.
MC_REASSOC_AX_BY = 0,
MC_REASSOC_AX_YB = 1,
MC_REASSOC_XA_BY = 2,
MC_REASSOC_XA_YB = 3,
/// Enumeration of instruction pattern supported by AArch64 machine combiner
MC_NONE,
MC_MULADDW_OP1,
MC_MULADDW_OP2,
MC_MULSUBW_OP1,
MC_MULSUBW_OP2,
MC_MULADDWI_OP1,
MC_MULSUBWI_OP1,
MC_MULADDX_OP1,
MC_MULADDX_OP2,
MC_MULSUBX_OP1,
MC_MULSUBX_OP2,
MC_MULADDXI_OP1,
MC_MULSUBXI_OP1
};
} // end namespace MachineCombinerPattern
} // end namespace llvm
#endif