
With this change, targets are no longer required to put memory / strict-fp opcodes after special `ISD::FIRST_TARGET_MEMORY_OPCODE`/`ISD::FIRST_TARGET_STRICTFP_OPCODE` markers. This will also allow autogenerating `isTargetMemoryOpcode`/`isTargetStrictFPOpcode (#119709). Pull Request: https://github.com/llvm/llvm-project/pull/119969
24 lines
929 B
C++
24 lines
929 B
C++
//===- SelectionDAGTargetInfo.cpp - SelectionDAG Info ---------------------===//
|
|
//
|
|
// 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This implements the SelectionDAGTargetInfo class.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
|
|
|
|
using namespace llvm;
|
|
|
|
SelectionDAGTargetInfo::~SelectionDAGTargetInfo() = default;
|
|
|
|
bool SelectionDAGTargetInfo::mayRaiseFPException(unsigned Opcode) const {
|
|
// FIXME: All target memory opcodes are currently automatically considered
|
|
// to possibly raise FP exceptions. See rev. 63336795.
|
|
return isTargetStrictFPOpcode(Opcode) || isTargetMemoryOpcode(Opcode);
|
|
}
|