Mercurial > hg > CbC > CbC_llvm
diff lib/Target/Sparc/SparcISelLowering.h @ 147:c2174574ed3a
LLVM 10
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 16:55:33 +0900 |
parents | 3a76565eade5 |
children |
line wrap: on
line diff
--- a/lib/Target/Sparc/SparcISelLowering.h Sat Feb 17 09:57:20 2018 +0900 +++ b/lib/Target/Sparc/SparcISelLowering.h Wed Aug 14 16:55:33 2019 +0900 @@ -1,9 +1,8 @@ //===-- SparcISelLowering.h - Sparc DAG Lowering Interface ------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -33,9 +32,6 @@ SELECT_XCC, // Select between two values using the current XCC flags. SELECT_FCC, // Select between two values using the current FCC flags. - EH_SJLJ_SETJMP, // builtin setjmp operation - EH_SJLJ_LONGJMP, // builtin longjmp operation - Hi, Lo, // Hi/Lo operations, typically on a global address. FTOI, // FP to Int within a FP register. @@ -59,9 +55,9 @@ public: SparcTargetLowering(const TargetMachine &TM, const SparcSubtarget &STI); SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const override; - + bool useSoftFloat() const override; - + /// computeKnownBitsForTargetNode - Determine which of the bits specified /// in Mask are known to be either zero or one and return them in the /// KnownZero/KnownOne bitsets. @@ -171,12 +167,6 @@ SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) const; SDValue LowerBlockAddress(SDValue Op, SelectionDAG &DAG) const; - SDValue LowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG, - const SparcTargetLowering &TLI) const ; - SDValue LowerEH_SJLJ_LONGJMP(SDValue Op, SelectionDAG &DAG, - const SparcTargetLowering &TLI) const ; - - unsigned getSRetArgSize(SelectionDAG &DAG, SDValue Callee) const; SDValue withTargetFlags(SDValue Op, unsigned TF, SelectionDAG &DAG) const; SDValue makeHiLoPair(SDValue Op, unsigned HiTF, unsigned LoTF, SelectionDAG &DAG) const; @@ -192,6 +182,13 @@ SDValue LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const; + SDValue PerformBITCASTCombine(SDNode *N, DAGCombinerInfo &DCI) const; + + SDValue bitcastConstantFPToInt(ConstantFPSDNode *C, const SDLoc &DL, + SelectionDAG &DAG) const; + + SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const override; + bool ShouldShrinkFPConstant(EVT VT) const override { // Do not shrink FP constpool if VT == MVT::f128. // (ldd, call _Q_fdtoq) is more expensive than two ldds. @@ -213,10 +210,6 @@ MachineBasicBlock *expandSelectCC(MachineInstr &MI, MachineBasicBlock *BB, unsigned BROpcode) const; - MachineBasicBlock *emitEHSjLjSetJmp(MachineInstr &MI, - MachineBasicBlock *MBB) const; - MachineBasicBlock *emitEHSjLjLongJmp(MachineInstr &MI, - MachineBasicBlock *MBB) const; }; } // end namespace llvm