blob: 7e4f11091226d080308753c55e446a4d2f10316b [file] [log] [blame]
Tim Northover3b0846e2014-05-24 12:50:23 +00001//===-- 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//
Benjamin Kramerf9172fd42016-01-27 16:32:26 +000010// This file defines the AArch64 subclass for SelectionDAGTargetInfo.
Tim Northover3b0846e2014-05-24 12:50:23 +000011//
12//===----------------------------------------------------------------------===//
13
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000014#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64SELECTIONDAGINFO_H
15#define LLVM_LIB_TARGET_AARCH64_AARCH64SELECTIONDAGINFO_H
Tim Northover3b0846e2014-05-24 12:50:23 +000016
Benjamin Kramerf9172fd42016-01-27 16:32:26 +000017#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
Tim Northover3b0846e2014-05-24 12:50:23 +000018
19namespace llvm {
20
Benjamin Kramerf9172fd42016-01-27 16:32:26 +000021class AArch64SelectionDAGInfo : public SelectionDAGTargetInfo {
Tim Northover3b0846e2014-05-24 12:50:23 +000022public:
Benjamin Kramerbdc49562016-06-12 15:39:02 +000023 SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &dl,
24 SDValue Chain, SDValue Dst, SDValue Src,
25 SDValue Size, unsigned Align, bool isVolatile,
Tim Northover3b0846e2014-05-24 12:50:23 +000026 MachinePointerInfo DstPtrInfo) const override;
Gerolf Hoflehner50426192016-04-27 17:27:16 +000027 bool generateFMAsInMachineCombiner(CodeGenOpt::Level OptLevel) const override;
Tim Northover3b0846e2014-05-24 12:50:23 +000028};
Alexander Kornienkof00654e2015-06-23 09:49:53 +000029}
Tim Northover3b0846e2014-05-24 12:50:23 +000030
31#endif