@@ -89,17 +89,17 @@ class BasicBlockTypePropagator : public StmtVisitor {
89
89
ExprTypeMap& expr_types;
90
90
TypeSpeculations& type_speculations;
91
91
TypeAnalysis::SpeculationLevel speculation;
92
- const ConstantVRegInfo& constant_vregs ;
92
+ const CodeConstants& code_constants ;
93
93
94
94
BasicBlockTypePropagator (CFGBlock* block, TypeMap& initial, ExprTypeMap& expr_types,
95
95
TypeSpeculations& type_speculations, TypeAnalysis::SpeculationLevel speculation,
96
- const ConstantVRegInfo& constant_vregs )
96
+ const CodeConstants& code_constants )
97
97
: block(block),
98
98
sym_table (initial),
99
99
expr_types(expr_types),
100
100
type_speculations(type_speculations),
101
101
speculation(speculation),
102
- constant_vregs(constant_vregs ) {}
102
+ code_constants(code_constants ) {}
103
103
104
104
void run () {
105
105
for (int i = 0 ; i < block->body .size (); i++) {
@@ -118,7 +118,7 @@ class BasicBlockTypePropagator : public StmtVisitor {
118
118
printf (" in propagator, speculating that %s would actually be %s, at " ,
119
119
old_type->debugName ().c_str (), speculated_type->debugName ().c_str ());
120
120
fflush (stdout);
121
- print_bst (node, constant_vregs );
121
+ print_bst (node, code_constants );
122
122
llvm::outs ().flush ();
123
123
printf (" \n " );
124
124
}
@@ -131,7 +131,7 @@ class BasicBlockTypePropagator : public StmtVisitor {
131
131
}
132
132
133
133
CompilerType* getConstantType (int vreg) {
134
- Box* o = constant_vregs .getConstant (vreg);
134
+ Box* o = code_constants .getConstant (vreg);
135
135
if (o->cls == int_cls)
136
136
return INT;
137
137
else if (o->cls == float_cls)
@@ -284,7 +284,7 @@ class BasicBlockTypePropagator : public StmtVisitor {
284
284
285
285
if (VERBOSITY () >= 2 && func == UNDEF) {
286
286
printf (" Think %s.%s is undefined, at %d\n " , t->debugName ().c_str (), node->attr .c_str (), node->lineno );
287
- print_bst (node, constant_vregs );
287
+ print_bst (node, code_constants );
288
288
printf (" \n " );
289
289
}
290
290
@@ -297,7 +297,7 @@ class BasicBlockTypePropagator : public StmtVisitor {
297
297
298
298
if (VERBOSITY () >= 2 && func == UNDEF) {
299
299
printf (" Think %s.%s is undefined, at %d\n " , t->debugName ().c_str (), node->attr .c_str (), node->lineno );
300
- print_bst (node, constant_vregs );
300
+ print_bst (node, code_constants );
301
301
printf (" \n " );
302
302
}
303
303
@@ -399,7 +399,7 @@ class BasicBlockTypePropagator : public StmtVisitor {
399
399
400
400
if (VERBOSITY () >= 2 && rtn == UNDEF) {
401
401
printf (" Think %s.%s is undefined, at %d\n " , t->debugName ().c_str (), node->attr .c_str (), node->lineno );
402
- print_bst (node, constant_vregs );
402
+ print_bst (node, code_constants );
403
403
printf (" \n " );
404
404
}
405
405
_doSet (node->vreg_dst , rtn);
@@ -551,9 +551,9 @@ class BasicBlockTypePropagator : public StmtVisitor {
551
551
public:
552
552
static TypeMap propagate (CFGBlock* block, const TypeMap& starting, ExprTypeMap& expr_types,
553
553
TypeSpeculations& type_speculations, TypeAnalysis::SpeculationLevel speculation,
554
- const ConstantVRegInfo& constant_vregs ) {
554
+ const CodeConstants& code_constants ) {
555
555
TypeMap ending = starting;
556
- BasicBlockTypePropagator (block, ending, expr_types, type_speculations, speculation, constant_vregs ).run ();
556
+ BasicBlockTypePropagator (block, ending, expr_types, type_speculations, speculation, code_constants ).run ();
557
557
return ending;
558
558
}
559
559
};
@@ -632,7 +632,7 @@ class PropagatingTypeAnalysis : public TypeAnalysis {
632
632
}
633
633
634
634
static PropagatingTypeAnalysis* doAnalysis (SpeculationLevel speculation, TypeMap&& initial_types,
635
- CFGBlock* initial_block, const ConstantVRegInfo& constant_vregs ) {
635
+ CFGBlock* initial_block, const CodeConstants& code_constants ) {
636
636
Timer _t (" PropagatingTypeAnalysis::doAnalysis()" );
637
637
638
638
CFG* cfg = initial_block->cfg ;
@@ -673,7 +673,7 @@ class PropagatingTypeAnalysis : public TypeAnalysis {
673
673
}
674
674
675
675
TypeMap ending = BasicBlockTypePropagator::propagate (block, starting_types.find (block)->second , expr_types,
676
- type_speculations, speculation, constant_vregs );
676
+ type_speculations, speculation, code_constants );
677
677
678
678
if (VERBOSITY (" types" ) >= 3 ) {
679
679
printf (" before (after):\n " );
@@ -730,7 +730,7 @@ class PropagatingTypeAnalysis : public TypeAnalysis {
730
730
// public entry point:
731
731
TypeAnalysis* doTypeAnalysis (CFG* cfg, const ParamNames& arg_names, const std::vector<ConcreteCompilerType*>& arg_types,
732
732
EffortLevel effort, TypeAnalysis::SpeculationLevel speculation,
733
- const ConstantVRegInfo& constant_vregs ) {
733
+ const CodeConstants& code_constants ) {
734
734
// if (effort == EffortLevel::INTERPRETED) {
735
735
// return new NullTypeAnalysis();
736
736
// }
@@ -750,11 +750,11 @@ TypeAnalysis* doTypeAnalysis(CFG* cfg, const ParamNames& arg_names, const std::v
750
750
assert (i == arg_types.size ());
751
751
752
752
return PropagatingTypeAnalysis::doAnalysis (speculation, std::move (initial_types), cfg->getStartingBlock (),
753
- constant_vregs );
753
+ code_constants );
754
754
}
755
755
756
756
TypeAnalysis* doTypeAnalysis (const OSREntryDescriptor* entry_descriptor, EffortLevel effort,
757
- TypeAnalysis::SpeculationLevel speculation, const ConstantVRegInfo& constant_vregs ) {
757
+ TypeAnalysis::SpeculationLevel speculation, const CodeConstants& code_constants ) {
758
758
auto cfg = entry_descriptor->code ->source ->cfg ;
759
759
auto && vreg_info = cfg->getVRegInfo ();
760
760
TypeMap initial_types (vreg_info.getTotalNumOfVRegs ());
@@ -764,6 +764,6 @@ TypeAnalysis* doTypeAnalysis(const OSREntryDescriptor* entry_descriptor, EffortL
764
764
}
765
765
766
766
return PropagatingTypeAnalysis::doAnalysis (speculation, std::move (initial_types),
767
- entry_descriptor->backedge ->target , constant_vregs );
767
+ entry_descriptor->backedge ->target , code_constants );
768
768
}
769
769
}
0 commit comments