Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
//===-- RISCVISelLowering.cpp - RISCV DAG Lowering Implementation --------===// | //===-- RISCVISelLowering.cpp - RISCV DAG Lowering Implementation --------===// | ||||
Lint: Lint: clang-format not found in user’s local PATH; not linting file. | |||||
// | // | ||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||||
// See https://llvm.org/LICENSE.txt for license information. | // See https://llvm.org/LICENSE.txt for license information. | ||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||||
// | // | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// | // | ||||
▲ Show 20 Lines • Show All 915 Lines • ▼ Show 20 Lines | if (Subtarget.useRVVForFixedLengthVectors()) { | ||||
setOperationAction(ISD::BITCAST, MVT::f16, Custom); | setOperationAction(ISD::BITCAST, MVT::f16, Custom); | ||||
if (Subtarget.hasStdExtF()) | if (Subtarget.hasStdExtF()) | ||||
setOperationAction(ISD::BITCAST, MVT::f32, Custom); | setOperationAction(ISD::BITCAST, MVT::f32, Custom); | ||||
if (Subtarget.hasStdExtD()) | if (Subtarget.hasStdExtD()) | ||||
setOperationAction(ISD::BITCAST, MVT::f64, Custom); | setOperationAction(ISD::BITCAST, MVT::f64, Custom); | ||||
} | } | ||||
} | } | ||||
// FIXME: Strict FP support is incomplete for vectors. | |||||
if (!Subtarget.hasVInstructions()) | |||||
IsStrictFPEnabled = true; | |||||
Setting this to true disables some code in SelectionDAGISel.cpp that make ISD::STRICT_* nodes compile even if the target hasn't done the work. craig.topper: Setting this to true disables some code in SelectionDAGISel.cpp that make ISD::STRICT_* nodes… | |||||
// Function alignments. | // Function alignments. | ||||
const Align FunctionAlignment(Subtarget.hasStdExtC() ? 2 : 4); | const Align FunctionAlignment(Subtarget.hasStdExtC() ? 2 : 4); | ||||
setMinFunctionAlignment(FunctionAlignment); | setMinFunctionAlignment(FunctionAlignment); | ||||
setPrefFunctionAlignment(FunctionAlignment); | setPrefFunctionAlignment(FunctionAlignment); | ||||
setMinimumJumpTableEntries(5); | setMinimumJumpTableEntries(5); | ||||
// Jumps are expensive, compared to logic | // Jumps are expensive, compared to logic | ||||
▲ Show 20 Lines • Show All 11,806 Lines • Show Last 20 Lines |
clang-format not found in user’s local PATH; not linting file.