File tree Expand file tree Collapse file tree 1 file changed +12
-10
lines changed
Expand file tree Collapse file tree 1 file changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -61,9 +61,18 @@ def vrd(self) -> "XVariable":
6161 def ximm (self ) -> "XXpr" :
6262 return self .xpr (0 , "ximm" )
6363
64+ @property
65+ def caddr (self ) -> "XXpr" :
66+ return self .cxpr (0 , "caddr" )
67+
68+ @property
69+ def is_caddr_ok (self ) -> bool :
70+ return self .is_cxpr_ok (0 )
71+
6472 @property
6573 def annotation (self ) -> str :
66- assignment = str (self .vrd ) + " := " + str (self .ximm )
74+ cx = " (C: " + (str (self .caddr ) if self .is_caddr_ok else "None" ) + ")"
75+ assignment = str (self .vrd ) + " := " + str (self .ximm ) + cx
6776 return self .add_instruction_condition (assignment )
6877
6978
@@ -100,10 +109,7 @@ def opargs(self) -> List[ARMOperand]:
100109
101110 def annotation (self , xdata : InstrXData ) -> str :
102111 xd = ARMAdrXData (xdata )
103- if xd .is_ok :
104- return xd .annotation
105- else :
106- return "Error value"
112+ return xd .annotation
107113
108114 def ast_prov (
109115 self ,
@@ -130,13 +136,9 @@ def ast_prov(
130136 # high-level assignment
131137
132138 xd = ARMAdrXData (xdata )
133- if not xd .is_ok :
134- chklogger .logger .error (
135- "Encountered error value at address %s" , iaddr )
136- return ([], [])
137139
138140 lhs = xd .vrd
139- rhs = xd .ximm
141+ rhs = xd .caddr if xd . is_caddr_ok else xd . ximm
140142 defuses = xdata .defuses
141143 defuseshigh = xdata .defuseshigh
142144
You can’t perform that action at this time.
0 commit comments