1 | //===-- X86SelectionDAGInfo.h - X86 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 | //
|
---|
10 | // This file defines the X86 subclass for TargetSelectionDAGInfo.
|
---|
11 | //
|
---|
12 | //===----------------------------------------------------------------------===//
|
---|
13 |
|
---|
14 | #ifndef X86SELECTIONDAGINFO_H
|
---|
15 | #define X86SELECTIONDAGINFO_H
|
---|
16 |
|
---|
17 | #include "llvm/Target/TargetSelectionDAGInfo.h"
|
---|
18 |
|
---|
19 | namespace llvm {
|
---|
20 |
|
---|
21 | class X86TargetLowering;
|
---|
22 | class X86TargetMachine;
|
---|
23 | class X86Subtarget;
|
---|
24 |
|
---|
25 | class X86SelectionDAGInfo : public TargetSelectionDAGInfo {
|
---|
26 | /// Subtarget - Keep a pointer to the X86Subtarget around so that we can
|
---|
27 | /// make the right decision when generating code for different targets.
|
---|
28 | const X86Subtarget *Subtarget;
|
---|
29 |
|
---|
30 | const X86TargetLowering &TLI;
|
---|
31 |
|
---|
32 | public:
|
---|
33 | explicit X86SelectionDAGInfo(const X86TargetMachine &TM);
|
---|
34 | ~X86SelectionDAGInfo();
|
---|
35 |
|
---|
36 | virtual
|
---|
37 | SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, DebugLoc dl,
|
---|
38 | SDValue Chain,
|
---|
39 | SDValue Dst, SDValue Src,
|
---|
40 | SDValue Size, unsigned Align,
|
---|
41 | bool isVolatile,
|
---|
42 | const Value *DstSV,
|
---|
43 | uint64_t DstSVOff) const;
|
---|
44 |
|
---|
45 | virtual
|
---|
46 | SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, DebugLoc dl,
|
---|
47 | SDValue Chain,
|
---|
48 | SDValue Dst, SDValue Src,
|
---|
49 | SDValue Size, unsigned Align,
|
---|
50 | bool isVolatile, bool AlwaysInline,
|
---|
51 | const Value *DstSV,
|
---|
52 | uint64_t DstSVOff,
|
---|
53 | const Value *SrcSV,
|
---|
54 | uint64_t SrcSVOff) const;
|
---|
55 | };
|
---|
56 |
|
---|
57 | }
|
---|
58 |
|
---|
59 | #endif
|
---|