1 //===-- AArch64SelectionDAGInfo.h - AArch64 SelectionDAG Info ---*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file defines the AArch64 subclass for SelectionDAGTargetInfo. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_LIB_TARGET_AARCH64_AARCH64SELECTIONDAGINFO_H 15 #define LLVM_LIB_TARGET_AARCH64_AARCH64SELECTIONDAGINFO_H 16 17 #include "llvm/CodeGen/SelectionDAGTargetInfo.h" 18 19 namespace llvm { 20 21 class AArch64SelectionDAGInfo : public SelectionDAGTargetInfo { 22 public: 23 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl, 24 SDValue Chain, SDValue Dst, SDValue Src, 25 SDValue Size, unsigned Align, bool isVolatile, 26 MachinePointerInfo DstPtrInfo) const override; 27 bool generateFMAsInMachineCombiner(CodeGenOpt::Level OptLevel) const override; 28 }; 29 } 30 31 #endif 32