@@ -194,21 +194,21 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
194
194
return tmp;
195
195
}
196
196
197
- IterTy getInsnIterator () const {
197
+ IterTy getInstrIterator () const {
198
198
return MII;
199
199
}
200
200
};
201
201
202
- typedef Instructions::iterator insn_iterator ;
203
- typedef Instructions::const_iterator const_insn_iterator ;
204
- typedef std::reverse_iterator<insn_iterator > reverse_insn_iterator ;
202
+ typedef Instructions::iterator instr_iterator ;
203
+ typedef Instructions::const_iterator const_instr_iterator ;
204
+ typedef std::reverse_iterator<instr_iterator > reverse_instr_iterator ;
205
205
typedef
206
- std::reverse_iterator<const_insn_iterator > const_reverse_insn_iterator ;
206
+ std::reverse_iterator<const_instr_iterator > const_reverse_instr_iterator ;
207
207
208
208
typedef
209
- bundle_iterator<MachineInstr,insn_iterator> iterator;
209
+ bundle_iterator<MachineInstr,instr_iterator> iterator;
210
210
typedef
211
- bundle_iterator<const MachineInstr,const_insn_iterator> const_iterator;
211
+ bundle_iterator<const MachineInstr,const_instr_iterator> const_iterator;
212
212
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
213
213
typedef std::reverse_iterator<iterator> reverse_iterator;
214
214
@@ -221,44 +221,44 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
221
221
const MachineInstr& front () const { return Insts.front (); }
222
222
const MachineInstr& back () const { return Insts.back (); }
223
223
224
- insn_iterator insn_begin () { return Insts.begin (); }
225
- const_insn_iterator insn_begin () const { return Insts.begin (); }
226
- insn_iterator insn_end () { return Insts.end (); }
227
- const_insn_iterator insn_end () const { return Insts.end (); }
228
- reverse_insn_iterator insn_rbegin () { return Insts.rbegin (); }
229
- const_reverse_insn_iterator insn_rbegin () const { return Insts.rbegin (); }
230
- reverse_insn_iterator insn_rend () { return Insts.rend (); }
231
- const_reverse_insn_iterator insn_rend () const { return Insts.rend (); }
224
+ instr_iterator instr_begin () { return Insts.begin (); }
225
+ const_instr_iterator instr_begin () const { return Insts.begin (); }
226
+ instr_iterator instr_end () { return Insts.end (); }
227
+ const_instr_iterator instr_end () const { return Insts.end (); }
228
+ reverse_instr_iterator instr_rbegin () { return Insts.rbegin (); }
229
+ const_reverse_instr_iterator instr_rbegin () const { return Insts.rbegin (); }
230
+ reverse_instr_iterator instr_rend () { return Insts.rend (); }
231
+ const_reverse_instr_iterator instr_rend () const { return Insts.rend (); }
232
232
233
233
iterator begin () { return Insts.begin (); }
234
234
const_iterator begin () const { return Insts.begin (); }
235
235
iterator end () {
236
- insn_iterator II = insn_end ();
237
- if (II != insn_begin ()) {
236
+ instr_iterator II = instr_end ();
237
+ if (II != instr_begin ()) {
238
238
while (II->isInsideBundle ())
239
239
--II;
240
240
}
241
241
return II;
242
242
}
243
243
const_iterator end () const {
244
- const_insn_iterator II = insn_end ();
245
- if (II != insn_begin ()) {
244
+ const_instr_iterator II = instr_end ();
245
+ if (II != instr_begin ()) {
246
246
while (II->isInsideBundle ())
247
247
--II;
248
248
}
249
249
return II;
250
250
}
251
251
reverse_iterator rbegin () {
252
- reverse_insn_iterator II = insn_rbegin ();
253
- if (II != insn_rend ()) {
252
+ reverse_instr_iterator II = instr_rbegin ();
253
+ if (II != instr_rend ()) {
254
254
while (II->isInsideBundle ())
255
255
++II;
256
256
}
257
257
return II;
258
258
}
259
259
const_reverse_iterator rbegin () const {
260
- const_reverse_insn_iterator II = insn_rbegin ();
261
- if (II != insn_rend ()) {
260
+ const_reverse_instr_iterator II = instr_rbegin ();
261
+ if (II != instr_rend ()) {
262
262
while (II->isInsideBundle ())
263
263
++II;
264
264
}
@@ -442,9 +442,9 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
442
442
iterator getFirstTerminator ();
443
443
const_iterator getFirstTerminator () const ;
444
444
445
- // / getFirstInsnTerminator - Same getFirstTerminator but it ignores bundles
446
- // / and return an insn_iterator instead.
447
- insn_iterator getFirstInsnTerminator ();
445
+ // / getFirstInstrTerminator - Same getFirstTerminator but it ignores bundles
446
+ // / and return an instr_iterator instead.
447
+ instr_iterator getFirstInstrTerminator ();
448
448
449
449
// / getLastNonDebugInstr - returns an iterator to the last non-debug
450
450
// / instruction in the basic block, or end()
@@ -464,68 +464,80 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
464
464
void push_back (MachineInstr *MI) { Insts.push_back (MI); }
465
465
466
466
template <typename IT>
467
- void insert (insn_iterator I, IT S, IT E) {
467
+ void insert (instr_iterator I, IT S, IT E) {
468
468
Insts.insert (I, S, E);
469
469
}
470
- insn_iterator insert (insn_iterator I, MachineInstr *M) {
470
+ instr_iterator insert (instr_iterator I, MachineInstr *M) {
471
471
return Insts.insert (I, M);
472
472
}
473
- insn_iterator insertAfter (insn_iterator I, MachineInstr *M) {
473
+ instr_iterator insertAfter (instr_iterator I, MachineInstr *M) {
474
474
return Insts.insertAfter (I, M);
475
475
}
476
476
477
477
template <typename IT>
478
478
void insert (iterator I, IT S, IT E) {
479
- Insts.insert (I.getInsnIterator (), S, E);
479
+ Insts.insert (I.getInstrIterator (), S, E);
480
480
}
481
481
iterator insert (iterator I, MachineInstr *M) {
482
- return Insts.insert (I.getInsnIterator (), M);
482
+ return Insts.insert (I.getInstrIterator (), M);
483
483
}
484
484
iterator insertAfter (iterator I, MachineInstr *M) {
485
- return Insts.insertAfter (I.getInsnIterator (), M);
485
+ return Insts.insertAfter (I.getInstrIterator (), M);
486
486
}
487
487
488
- // erase - Remove the specified element or range from the instruction list.
489
- // These functions delete any instructions removed.
490
- //
491
- insn_iterator erase (insn_iterator I) {
488
+ // / erase - Remove the specified element or range from the instruction list.
489
+ // / These functions delete any instructions removed.
490
+ // /
491
+ instr_iterator erase (instr_iterator I) {
492
492
return Insts.erase (I);
493
493
}
494
- insn_iterator erase (insn_iterator I, insn_iterator E) {
494
+ instr_iterator erase (instr_iterator I, instr_iterator E) {
495
495
return Insts.erase (I, E);
496
496
}
497
-
498
- iterator erase (iterator I) {
499
- return Insts. erase (I. getInsnIterator () );
497
+ instr_iterator erase_instr (MachineInstr *I) {
498
+ instr_iterator MII (I);
499
+ return erase (MII );
500
500
}
501
+
502
+ iterator erase (iterator I);
501
503
iterator erase (iterator I, iterator E) {
502
- return Insts.erase (I.getInsnIterator (), E.getInsnIterator ());
504
+ return Insts.erase (I.getInstrIterator (), E.getInstrIterator ());
505
+ }
506
+ iterator erase (MachineInstr *I) {
507
+ iterator MII (I);
508
+ return erase (MII);
503
509
}
504
510
505
- iterator erase (MachineInstr *I) { iterator MII (I); return erase (MII); }
506
- MachineInstr *remove (MachineInstr *I) { return Insts.remove (I); }
507
- void clear () { Insts.clear (); }
511
+ // / remove - Remove the instruction from the instruction list. This function
512
+ // / does not delete the instruction. WARNING: Note, if the specified
513
+ // / instruction is a bundle this function will remove all the bundled
514
+ // / instructions as well. It is up to the caller to keep a list of the
515
+ // / bundled instructions and re-insert them if desired. This function is
516
+ // / *not recommended* for manipulating instructions with bundled. Use
517
+ // / splice instead.
518
+ MachineInstr *remove (MachineInstr *I);
519
+ void clear () {
520
+ Insts.clear ();
521
+ }
508
522
509
523
// / splice - Take an instruction from MBB 'Other' at the position From,
510
524
// / and insert it into this MBB right before 'where'.
511
- void splice (insn_iterator where, MachineBasicBlock *Other,
512
- insn_iterator From) {
525
+ void splice (instr_iterator where, MachineBasicBlock *Other,
526
+ instr_iterator From) {
513
527
Insts.splice (where, Other->Insts , From);
514
528
}
515
- void splice (iterator where, MachineBasicBlock *Other, iterator From) {
516
- Insts.splice (where.getInsnIterator (), Other->Insts , From.getInsnIterator ());
517
- }
529
+ void splice (iterator where, MachineBasicBlock *Other, iterator From);
518
530
519
531
// / splice - Take a block of instructions from MBB 'Other' in the range [From,
520
532
// / To), and insert them into this MBB right before 'where'.
521
- void splice (insn_iterator where, MachineBasicBlock *Other, insn_iterator From,
522
- insn_iterator To) {
533
+ void splice (instr_iterator where, MachineBasicBlock *Other, instr_iterator From,
534
+ instr_iterator To) {
523
535
Insts.splice (where, Other->Insts , From, To);
524
536
}
525
537
void splice (iterator where, MachineBasicBlock *Other, iterator From,
526
538
iterator To) {
527
- Insts.splice (where.getInsnIterator (), Other->Insts ,
528
- From.getInsnIterator (), To.getInsnIterator ());
539
+ Insts.splice (where.getInstrIterator (), Other->Insts ,
540
+ From.getInstrIterator (), To.getInstrIterator ());
529
541
}
530
542
531
543
// / removeFromParent - This method unlinks 'this' from the containing
@@ -552,9 +564,9 @@ class MachineBasicBlock : public ilist_node<MachineBasicBlock> {
552
564
553
565
// / findDebugLoc - find the next valid DebugLoc starting at MBBI, skipping
554
566
// / any DBG_VALUE instructions. Return UnknownLoc if there is none.
555
- DebugLoc findDebugLoc (insn_iterator MBBI);
567
+ DebugLoc findDebugLoc (instr_iterator MBBI);
556
568
DebugLoc findDebugLoc (iterator MBBI) {
557
- return findDebugLoc (MBBI.getInsnIterator ());
569
+ return findDebugLoc (MBBI.getInstrIterator ());
558
570
}
559
571
560
572
// Debugging methods.
0 commit comments