mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-10 20:33:15 +00:00
Replace dead links to "Hacker's Delight" with general references. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f1198da05c
commit
6c7ec4aae9
@ -11629,8 +11629,8 @@ SDValue DAGCombiner::SimplifySetCC(EVT VT, SDValue N0,
|
|||||||
|
|
||||||
/// Given an ISD::SDIV node expressing a divide by constant, return
|
/// Given an ISD::SDIV node expressing a divide by constant, return
|
||||||
/// a DAG expression to select that will generate the same value by multiplying
|
/// a DAG expression to select that will generate the same value by multiplying
|
||||||
/// by a magic number. See:
|
/// by a magic number.
|
||||||
/// <http://the.wall.riscom.net/books/proc/ppc/cwg/code2.html>
|
/// Ref: "Hacker's Delight" or "The PowerPC Compiler Writer's Guide".
|
||||||
SDValue DAGCombiner::BuildSDIV(SDNode *N) {
|
SDValue DAGCombiner::BuildSDIV(SDNode *N) {
|
||||||
ConstantSDNode *C = isConstOrConstSplat(N->getOperand(1));
|
ConstantSDNode *C = isConstOrConstSplat(N->getOperand(1));
|
||||||
if (!C)
|
if (!C)
|
||||||
@ -11670,8 +11670,8 @@ SDValue DAGCombiner::BuildSDIVPow2(SDNode *N) {
|
|||||||
|
|
||||||
/// Given an ISD::UDIV node expressing a divide by constant, return a DAG
|
/// Given an ISD::UDIV node expressing a divide by constant, return a DAG
|
||||||
/// expression that will generate the same value by multiplying by a magic
|
/// expression that will generate the same value by multiplying by a magic
|
||||||
/// number. See:
|
/// number.
|
||||||
/// <http://the.wall.riscom.net/books/proc/ppc/cwg/code2.html>
|
/// Ref: "Hacker's Delight" or "The PowerPC Compiler Writer's Guide".
|
||||||
SDValue DAGCombiner::BuildUDIV(SDNode *N) {
|
SDValue DAGCombiner::BuildUDIV(SDNode *N) {
|
||||||
ConstantSDNode *C = isConstOrConstSplat(N->getOperand(1));
|
ConstantSDNode *C = isConstOrConstSplat(N->getOperand(1));
|
||||||
if (!C)
|
if (!C)
|
||||||
|
@ -2786,7 +2786,7 @@ SDValue SelectionDAGLegalize::ExpandBitCount(unsigned Opc, SDValue Op,
|
|||||||
// x = x | (x >>32); // for 64-bit input
|
// x = x | (x >>32); // for 64-bit input
|
||||||
// return popcount(~x);
|
// return popcount(~x);
|
||||||
//
|
//
|
||||||
// but see also: http://www.hackersdelight.org/HDcode/nlz.cc
|
// Ref: "Hacker's Delight" by Henry Warren
|
||||||
EVT VT = Op.getValueType();
|
EVT VT = Op.getValueType();
|
||||||
EVT ShVT = TLI.getShiftAmountTy(VT);
|
EVT ShVT = TLI.getShiftAmountTy(VT);
|
||||||
unsigned len = VT.getSizeInBits();
|
unsigned len = VT.getSizeInBits();
|
||||||
@ -2805,7 +2805,7 @@ SDValue SelectionDAGLegalize::ExpandBitCount(unsigned Opc, SDValue Op,
|
|||||||
// for now, we use: { return popcount(~x & (x - 1)); }
|
// for now, we use: { return popcount(~x & (x - 1)); }
|
||||||
// unless the target has ctlz but not ctpop, in which case we use:
|
// unless the target has ctlz but not ctpop, in which case we use:
|
||||||
// { return 32 - nlz(~x & (x-1)); }
|
// { return 32 - nlz(~x & (x-1)); }
|
||||||
// see also http://www.hackersdelight.org/HDcode/ntz.cc
|
// Ref: "Hacker's Delight" by Henry Warren
|
||||||
EVT VT = Op.getValueType();
|
EVT VT = Op.getValueType();
|
||||||
SDValue Tmp3 = DAG.getNode(ISD::AND, dl, VT,
|
SDValue Tmp3 = DAG.getNode(ISD::AND, dl, VT,
|
||||||
DAG.getNOT(dl, Op, VT),
|
DAG.getNOT(dl, Op, VT),
|
||||||
|
@ -2643,8 +2643,8 @@ SDValue TargetLowering::BuildExactSDIV(SDValue Op1, SDValue Op2, SDLoc dl,
|
|||||||
|
|
||||||
/// \brief Given an ISD::SDIV node expressing a divide by constant,
|
/// \brief Given an ISD::SDIV node expressing a divide by constant,
|
||||||
/// return a DAG expression to select that will generate the same value by
|
/// return a DAG expression to select that will generate the same value by
|
||||||
/// multiplying by a magic number. See:
|
/// multiplying by a magic number.
|
||||||
/// <http://the.wall.riscom.net/books/proc/ppc/cwg/code2.html>
|
/// Ref: "Hacker's Delight" or "The PowerPC Compiler Writer's Guide".
|
||||||
SDValue TargetLowering::BuildSDIV(SDNode *N, const APInt &Divisor,
|
SDValue TargetLowering::BuildSDIV(SDNode *N, const APInt &Divisor,
|
||||||
SelectionDAG &DAG, bool IsAfterLegalization,
|
SelectionDAG &DAG, bool IsAfterLegalization,
|
||||||
std::vector<SDNode *> *Created) const {
|
std::vector<SDNode *> *Created) const {
|
||||||
@ -2702,8 +2702,8 @@ SDValue TargetLowering::BuildSDIV(SDNode *N, const APInt &Divisor,
|
|||||||
|
|
||||||
/// \brief Given an ISD::UDIV node expressing a divide by constant,
|
/// \brief Given an ISD::UDIV node expressing a divide by constant,
|
||||||
/// return a DAG expression to select that will generate the same value by
|
/// return a DAG expression to select that will generate the same value by
|
||||||
/// multiplying by a magic number. See:
|
/// multiplying by a magic number.
|
||||||
/// <http://the.wall.riscom.net/books/proc/ppc/cwg/code2.html>
|
/// Ref: "Hacker's Delight" or "The PowerPC Compiler Writer's Guide".
|
||||||
SDValue TargetLowering::BuildUDIV(SDNode *N, const APInt &Divisor,
|
SDValue TargetLowering::BuildUDIV(SDNode *N, const APInt &Divisor,
|
||||||
SelectionDAG &DAG, bool IsAfterLegalization,
|
SelectionDAG &DAG, bool IsAfterLegalization,
|
||||||
std::vector<SDNode *> *Created) const {
|
std::vector<SDNode *> *Created) const {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user