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

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

Issue 7834034: Clean up RegOp2MemOp tables in X86InstrInfo.cpp (Closed) Base URL: http://llvm.org/svn/llvm-project/llvm/trunk/
Patch Set: x Created 9 years, 3 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 | « no previous file | lib/Target/X86/X86InstrInfo.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 //===- X86InstrInfo.h - X86 Instruction Information ------------*- C++ -*- ===// 1 //===- X86InstrInfo.h - X86 Instruction Information ------------*- 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 contains the X86 implementation of the TargetInstrInfo class. 10 // This file contains the X86 implementation of the TargetInstrInfo class.
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 isLeaMem(MI, Op); 124 isLeaMem(MI, Op);
125 } 125 }
126 126
127 class X86InstrInfo : public X86GenInstrInfo { 127 class X86InstrInfo : public X86GenInstrInfo {
128 X86TargetMachine &TM; 128 X86TargetMachine &TM;
129 const X86RegisterInfo RI; 129 const X86RegisterInfo RI;
130 130
131 /// RegOp2MemOpTable2Addr, RegOp2MemOpTable0, RegOp2MemOpTable1, 131 /// RegOp2MemOpTable2Addr, RegOp2MemOpTable0, RegOp2MemOpTable1,
132 /// RegOp2MemOpTable2 - Load / store folding opcode maps. 132 /// RegOp2MemOpTable2 - Load / store folding opcode maps.
133 /// 133 ///
134 DenseMap<unsigned, std::pair<unsigned,unsigned> > RegOp2MemOpTable2Addr; 134 typedef DenseMap<unsigned,
135 DenseMap<unsigned, std::pair<unsigned,unsigned> > RegOp2MemOpTable0; 135 std::pair<unsigned, unsigned> > RegOp2MemOpTableType;
136 DenseMap<unsigned, std::pair<unsigned,unsigned> > RegOp2MemOpTable1; 136 RegOp2MemOpTableType RegOp2MemOpTable2Addr;
137 DenseMap<unsigned, std::pair<unsigned,unsigned> > RegOp2MemOpTable2; 137 RegOp2MemOpTableType RegOp2MemOpTable0;
138 RegOp2MemOpTableType RegOp2MemOpTable1;
139 RegOp2MemOpTableType RegOp2MemOpTable2;
138 140
139 /// MemOp2RegOpTable - Load / store unfolding opcode map. 141 /// MemOp2RegOpTable - Load / store unfolding opcode map.
140 /// 142 ///
141 DenseMap<unsigned, std::pair<unsigned, unsigned> > MemOp2RegOpTable; 143 typedef DenseMap<unsigned,
144 std::pair<unsigned, unsigned> > MemOp2RegOpTableType;
145 MemOp2RegOpTableType MemOp2RegOpTable;
146
147 void AddTableEntry(RegOp2MemOpTableType &R2MTable,
148 MemOp2RegOpTableType &M2RTable,
149 unsigned RegOp, unsigned MemOp, unsigned Flags);
142 150
143 public: 151 public:
144 explicit X86InstrInfo(X86TargetMachine &tm); 152 explicit X86InstrInfo(X86TargetMachine &tm);
145 153
146 /// getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As 154 /// getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As
147 /// such, whenever a client has an instance of instruction info, it should 155 /// such, whenever a client has an instance of instruction info, it should
148 /// always be able to get register info as well (through this method). 156 /// always be able to get register info as well (through this method).
149 /// 157 ///
150 virtual const X86RegisterInfo &getRegisterInfo() const { return RI; } 158 virtual const X86RegisterInfo &getRegisterInfo() const { return RI; }
151 159
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 365
358 /// isFrameOperand - Return true and the FrameIndex if the specified 366 /// isFrameOperand - Return true and the FrameIndex if the specified
359 /// operand and follow operands form a reference to the stack frame. 367 /// operand and follow operands form a reference to the stack frame.
360 bool isFrameOperand(const MachineInstr *MI, unsigned int Op, 368 bool isFrameOperand(const MachineInstr *MI, unsigned int Op,
361 int &FrameIndex) const; 369 int &FrameIndex) const;
362 }; 370 };
363 371
364 } // End llvm namespace 372 } // End llvm namespace
365 373
366 #endif 374 #endif
OLDNEW
« no previous file with comments | « no previous file | lib/Target/X86/X86InstrInfo.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698