@@ -16,11 +16,9 @@ use middle::ty;
16
16
use syntax:: ast;
17
17
use syntax:: ast_util;
18
18
use syntax:: ptr:: P ;
19
- use util:: nodemap:: NodeMap ;
20
19
21
20
struct CFGBuilder < ' a , ' tcx : ' a > {
22
21
tcx : & ' a ty:: ctxt < ' tcx > ,
23
- exit_map : NodeMap < CFGIndex > ,
24
22
graph : CFGGraph ,
25
23
fn_exit : CFGIndex ,
26
24
loop_scopes : Vec < LoopScope > ,
@@ -46,17 +44,15 @@ pub fn construct(tcx: &ty::ctxt,
46
44
let block_exit;
47
45
48
46
let mut cfg_builder = CFGBuilder {
49
- exit_map : NodeMap ( ) ,
50
47
graph : graph,
51
48
fn_exit : fn_exit,
52
49
tcx : tcx,
53
50
loop_scopes : Vec :: new ( )
54
51
} ;
55
52
block_exit = cfg_builder. block ( blk, entry) ;
56
53
cfg_builder. add_contained_edge ( block_exit, fn_exit) ;
57
- let CFGBuilder { exit_map, graph, ..} = cfg_builder;
58
- CFG { exit_map : exit_map,
59
- graph : graph,
54
+ let CFGBuilder { graph, ..} = cfg_builder;
55
+ CFG { graph : graph,
60
56
entry : entry,
61
57
exit : fn_exit}
62
58
}
@@ -512,7 +508,6 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
512
508
}
513
509
514
510
fn add_ast_node ( & mut self , id : ast:: NodeId , preds : & [ CFGIndex ] ) -> CFGIndex {
515
- assert ! ( !self . exit_map. contains_key( & id) ) ;
516
511
assert ! ( id != ast:: DUMMY_NODE_ID ) ;
517
512
self . add_node ( CFGNodeData :: AST ( id) , preds)
518
513
}
@@ -523,10 +518,6 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
523
518
524
519
fn add_node ( & mut self , data : CFGNodeData , preds : & [ CFGIndex ] ) -> CFGIndex {
525
520
let node = self . graph . add_node ( data) ;
526
- if let CFGNodeData :: AST ( id) = data {
527
- assert ! ( !self . exit_map. contains_key( & id) ) ;
528
- self . exit_map . insert ( id, node) ;
529
- }
530
521
for & pred in preds {
531
522
self . add_contained_edge ( pred, node) ;
532
523
}
0 commit comments