(inst: Instruction, out: CWriter)
| 50 | |
| 51 | |
| 52 | def declare_variables(inst: Instruction, out: CWriter) -> None: |
| 53 | try: |
| 54 | stack = get_stack_effect(inst) |
| 55 | except StackError as ex: |
| 56 | raise analysis_error(ex.args[0], inst.where) from None |
| 57 | seen = {"unused"} |
| 58 | for part in inst.parts: |
| 59 | if not isinstance(part, Uop) or part.properties.records_value: |
| 60 | continue |
| 61 | for var in part.stack.inputs: |
| 62 | if var.used and var.name not in seen: |
| 63 | seen.add(var.name) |
| 64 | declare_variable(var, out) |
| 65 | for var in part.stack.outputs: |
| 66 | if var.used and var.name not in seen: |
| 67 | seen.add(var.name) |
| 68 | declare_variable(var, out) |
| 69 | |
| 70 | |
| 71 | def write_uop( |
no test coverage detected
searching dependent graphs…