Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: lib/Target/X86/X86ISelLowering.h

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/Target/X86/X86ISelDAGToDAG.cpp ('k') | lib/Target/X86/X86ISelLowering.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===-- X86ISelLowering.h - X86 DAG Lowering Interface ----------*- C++ -*-===// 1 //===-- X86ISelLowering.h - X86 DAG Lowering Interface ----------*- C++ -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file defines the interfaces that X86 uses to lower LLVM code into a 10 // This file defines the interfaces that X86 uses to lower LLVM code into a
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 /// approximation. Note that these typically require refinement 230 /// approximation. Note that these typically require refinement
231 /// in order to obtain suitable precision. 231 /// in order to obtain suitable precision.
232 FRSQRT, FRCP, 232 FRSQRT, FRCP,
233 233
234 // TLSADDR - Thread Local Storage. 234 // TLSADDR - Thread Local Storage.
235 TLSADDR, 235 TLSADDR,
236 236
237 // TLSBASEADDR - Thread Local Storage. A call to get the start address 237 // TLSBASEADDR - Thread Local Storage. A call to get the start address
238 // of the TLS block for the current module. 238 // of the TLS block for the current module.
239 TLSBASEADDR, 239 TLSBASEADDR,
240 // @LOCALMOD-BEGIN
241 // TLSADDR_LE - Thread Local Storage. (Local Exec Model)
242 TLSADDR_LE,
243
244 // TLSADDR_IE - Thread Local Storage. (Initial Exec Model)
245 TLSADDR_IE,
246
247 // THREAD_POINTER_FROM_GS - Read thread pointer from %gs:0 on x86-32.
248 THREAD_POINTER_FROM_GS,
249 // @LOCALMOD-END
240 250
241 // TLSCALL - Thread Local Storage. When calling to an OS provided 251 // TLSCALL - Thread Local Storage. When calling to an OS provided
242 // thunk at the address from an earlier relocation. 252 // thunk at the address from an earlier relocation.
243 TLSCALL, 253 TLSCALL,
244 254
245 // EH_RETURN - Exception Handling helpers. 255 // EH_RETURN - Exception Handling helpers.
246 EH_RETURN, 256 EH_RETURN,
247 257
248 // EH_SJLJ_SETJMP - SjLj exception handling setjmp. 258 // EH_SJLJ_SETJMP - SjLj exception handling setjmp.
249 EH_SJLJ_SETJMP, 259 EH_SJLJ_SETJMP,
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 829
820 protected: 830 protected:
821 std::pair<const TargetRegisterClass*, uint8_t> 831 std::pair<const TargetRegisterClass*, uint8_t>
822 findRepresentativeClass(MVT VT) const override; 832 findRepresentativeClass(MVT VT) const override;
823 833
824 private: 834 private:
825 /// Keep a pointer to the X86Subtarget around so that we can 835 /// Keep a pointer to the X86Subtarget around so that we can
826 /// make the right decision when generating code for different targets. 836 /// make the right decision when generating code for different targets.
827 const X86Subtarget *Subtarget; 837 const X86Subtarget *Subtarget;
828 const DataLayout *TD; 838 const DataLayout *TD;
839 // @LOCALMOD - This is essentially a revert of r167104
840 /// X86StackPtr - X86 physical register used as stack ptr.
841 unsigned X86StackPtr;
829 842
830 /// Used to store the TargetOptions so that we don't waste time resetting 843 /// Used to store the TargetOptions so that we don't waste time resetting
831 /// the operation actions unless we have to. 844 /// the operation actions unless we have to.
832 TargetOptions TO; 845 TargetOptions TO;
833 846
834 /// Select between SSE or x87 floating point ops. 847 /// Select between SSE or x87 floating point ops.
835 /// When SSE is available, use it for f32 operations. 848 /// When SSE is available, use it for f32 operations.
836 /// When SSE2 is available, use it for f64 operations. 849 /// When SSE2 is available, use it for f64 operations.
837 bool X86ScalarSSEf32; 850 bool X86ScalarSSEf32;
838 bool X86ScalarSSEf64; 851 bool X86ScalarSSEf64;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 1008
996 MachineBasicBlock *EmitLoweredSelect(MachineInstr *I, 1009 MachineBasicBlock *EmitLoweredSelect(MachineInstr *I,
997 MachineBasicBlock *BB) const; 1010 MachineBasicBlock *BB) const;
998 1011
999 MachineBasicBlock *EmitLoweredWinAlloca(MachineInstr *MI, 1012 MachineBasicBlock *EmitLoweredWinAlloca(MachineInstr *MI,
1000 MachineBasicBlock *BB) const; 1013 MachineBasicBlock *BB) const;
1001 1014
1002 MachineBasicBlock *EmitLoweredSegAlloca(MachineInstr *MI, 1015 MachineBasicBlock *EmitLoweredSegAlloca(MachineInstr *MI,
1003 MachineBasicBlock *BB) const; 1016 MachineBasicBlock *BB) const;
1004 1017
1018 // @LOCALMOD-BEGIN
1019 MachineBasicBlock *EmitLoweredThreadPointerFromGs(
1020 MachineInstr *MI,
1021 MachineBasicBlock *BB) const;
1022 // @LOCALMOD-END
1023
1005 MachineBasicBlock *EmitLoweredTLSCall(MachineInstr *MI, 1024 MachineBasicBlock *EmitLoweredTLSCall(MachineInstr *MI,
1006 MachineBasicBlock *BB) const; 1025 MachineBasicBlock *BB) const;
1007 1026
1008 MachineBasicBlock *emitLoweredTLSAddr(MachineInstr *MI, 1027 MachineBasicBlock *emitLoweredTLSAddr(MachineInstr *MI,
1009 MachineBasicBlock *BB) const; 1028 MachineBasicBlock *BB) const;
1010 1029
1011 MachineBasicBlock *emitEHSjLjSetJmp(MachineInstr *MI, 1030 MachineBasicBlock *emitEHSjLjSetJmp(MachineInstr *MI,
1012 MachineBasicBlock *MBB) const; 1031 MachineBasicBlock *MBB) const;
1013 1032
1014 MachineBasicBlock *emitEHSjLjLongJmp(MachineInstr *MI, 1033 MachineBasicBlock *emitEHSjLjLongJmp(MachineInstr *MI,
(...skipping 25 matching lines...) Expand all
1040 unsigned &RefinementSteps) const override; 1059 unsigned &RefinementSteps) const override;
1041 }; 1060 };
1042 1061
1043 namespace X86 { 1062 namespace X86 {
1044 FastISel *createFastISel(FunctionLoweringInfo &funcInfo, 1063 FastISel *createFastISel(FunctionLoweringInfo &funcInfo,
1045 const TargetLibraryInfo *libInfo); 1064 const TargetLibraryInfo *libInfo);
1046 } 1065 }
1047 } 1066 }
1048 1067
1049 #endif // X86ISELLOWERING_H 1068 #endif // X86ISELLOWERING_H
OLDNEW
« no previous file with comments | « lib/Target/X86/X86ISelDAGToDAG.cpp ('k') | lib/Target/X86/X86ISelLowering.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698