Home | History | Annotate | Download | only in optimize

Lines Matching refs:rule

43     final ProguardMemberRule rule;
45 ProguardMemberRuleLookup(RuleType type, ProguardMemberRule rule) {
47 this.rule = rule;
60 ProguardMemberRule rule = liveSet.noSideEffects.get(item);
61 if (rule != null) {
62 return new ProguardMemberRuleLookup(RuleType.ASSUME_NO_SIDE_EFFECTS, rule);
64 rule = liveSet.assumedValues.get(item);
65 if (rule != null) {
66 return new ProguardMemberRuleLookup(RuleType.ASSUME_VALUES, rule);
72 ProguardMemberRule rule, IRCode code, Instruction instruction) {
76 if (rule != null && rule.hasReturnValue() && rule.getReturnValue().isSingleValue()) {
80 ConstType.fromMoveType(moveType), value, rule.getReturnValue().getSingleValue());
83 rule != null && rule.hasReturnValue() && rule.getReturnValue().isField()) {
84 DexField field = rule.getReturnValue().getField();
91 " used in assumevalues rule does not exist.");
97 private void setValueRangeFromProguardRule(ProguardMemberRule rule, Value value) {
98 if (rule.hasReturnValue() && rule.getReturnValue().isValueRange()) {
99 assert !rule.getReturnValue().isSingleValue();
100 value.setValueRange(rule.getReturnValue().getValueRange());
146 constantReplacementFromProguardRule(lookup.rule, code, invoke);
152 setValueRangeFromProguardRule(lookup.rule, current.outValue());
157 // If no Proguard rule could replace the instruction check for knowledge about the
203 replacement = constantReplacementFromProguardRule(lookup.rule, code, staticGet);
209 setValueRangeFromProguardRule(lookup.rule, staticGet.dest());