1 line
24 KiB
JavaScript
1 line
24 KiB
JavaScript
Search.setIndex({"docnames": ["api/Lib", "api/Lib.Allocator", "api/Lib.Errors", "api/Lib.FunctionData", "api/Lib.LinearCode", "api/Lib.Operands", "api/Lib.RiscV", "api/Lib.Statement", "api/modules", "index"], "filenames": ["api/Lib.rst", "api/Lib.Allocator.rst", "api/Lib.Errors.rst", "api/Lib.FunctionData.rst", "api/Lib.LinearCode.rst", "api/Lib.Operands.rst", "api/Lib.RiscV.rst", "api/Lib.Statement.rst", "api/modules.rst", "index.rst"], "titles": ["Lib package", "Lib.Allocator module", "Lib.Errors module", "Lib.FunctionData module", "Lib.LinearCode module", "Lib.Operands module", "Lib.RiscV module", "Lib.Statement module", "MiniC", "Welcome to MiniC\u2019s documentation!"], "terms": {"alloc": [0, 4, 5, 8], "prepar": [0, 1, 9], "replac": [0, 1, 4, 5, 7, 9], "rewritecod": [0, 1, 9], "naivealloc": [0, 1, 8, 9], "error": [0, 8, 9], "minicruntimeerror": [0, 2, 8, 9], "minicinternalerror": [0, 2, 8, 9], "minicunsupportederror": [0, 2, 8, 9], "minictypeerror": [0, 2, 8, 9], "allocationerror": [0, 2, 8, 9], "functiondata": [0, 1, 4, 8, 9], "get_nam": [0, 3, 9], "fresh_tmp": [0, 3, 5, 9], "fresh_offset": [0, 3, 9], "get_offset": [0, 3, 5, 9], "fresh_label": [0, 3, 9], "get_label_div_by_zero": [0, 3, 9], "linearcod": [0, 1, 3, 8, 9], "fdata": [0, 1, 3, 4, 9], "add_instruct": [0, 4, 9], "iter_stat": [0, 1, 4, 9], "get_instruct": [0, 4, 9], "add_label": [0, 4, 9], "add_com": [0, 4, 9], "add_instruction_println_int": [0, 4, 9], "print_cod": [0, 4, 9], "print_dot": [0, 4, 9], "operand": [0, 1, 3, 6, 7, 8, 9], "condit": [0, 5, 6, 7, 8, 9], "negat": [0, 5, 9], "function": [0, 3, 4, 5, 6, 7, 8, 9], "dataloc": [0, 4, 5, 8, 9], "regist": [0, 1, 5, 8, 9], "zero": [0, 5, 8, 9], "ra": [0, 5, 8, 9], "sp": [0, 5, 8, 9], "gp": [0, 5, 8, 9], "tp": [0, 5, 8, 9], "A": [0, 5, 7, 8, 9], "": [0, 4, 5, 8], "t": [0, 5, 8, 9], "a0": [0, 5, 8, 9], "a1": [0, 5, 8, 9], "fp": [0, 3, 5, 8, 9], "gp_reg": [0, 5, 8, 9], "offset": [0, 3, 5, 8, 9], "immedi": [0, 5, 6, 8, 9], "temporari": [0, 1, 3, 4, 5, 8], "get_alloced_loc": [0, 5, 9], "temporarypool": [0, 1, 3, 5, 8, 9], "get_all_temp": [0, 5, 9], "add_tmp": [0, 5, 9], "set_temp_alloc": [0, 1, 5, 9], "renam": [0, 5, 7, 8, 9], "fresh": [0, 3, 5, 9], "defin": [0, 1, 3, 5, 6, 7, 9], "copi": [0, 5, 9], "riscv": [0, 3, 4, 5, 7, 8, 9], "call": [0, 1, 4, 5, 6, 7, 8, 9], "jump": [0, 6, 7, 8, 9], "conditional_jump": [0, 6, 8, 9], "add": [0, 1, 4, 5, 6, 8, 9], "mul": [0, 6, 8, 9], "div": [0, 6, 8, 9], "rem": [0, 6, 8, 9], "sub": [0, 6, 8, 9], "land": [0, 6, 8, 9], "lor": [0, 6, 8, 9], "xor": [0, 6, 8, 9], "li": [0, 6, 8, 9], "mv": [0, 6, 8, 9], "ld": [0, 6, 8, 9], "sd": [0, 6, 8, 9], "statement": [0, 8, 9], "regset_to_str": [0, 7, 8, 9], "us": [0, 3, 5, 7, 9], "substitut": [0, 7, 9], "with_arg": [0, 7, 9], "printin": [0, 7, 9], "comment": [0, 4, 7, 8, 9], "label": [0, 3, 4, 6, 7, 8, 9], "name": [0, 3, 4, 5, 7, 9], "instruct": [0, 1, 4, 6, 7, 8, 9], "ins": [0, 7, 9], "is_read_onli": [0, 7, 9], "arg": [0, 7, 9], "instru3a": [0, 4, 6, 7, 8, 9], "absolutejump": [0, 4, 6, 7, 8, 9], "target": [0, 7, 9], "conditionaljump": [0, 4, 7, 8, 9], "cond": [0, 6, 7, 9], "op1": [0, 6, 7, 9], "op2": [0, 6, 7, 9], "thi": [1, 3, 5, 6, 7], "file": [1, 3, 4, 5], "base": [1, 2, 3, 4, 5, 7], "class": [1, 3, 4, 5, 7, 9], "na\u00efv": 1, "implement": [1, 9], "sourc": [1, 2, 3, 4, 5, 6, 7, 9], "object": [1, 3, 4, 5, 7, 9], "gener": [1, 4, 5], "naiv": [1, 9], "allinmem": 1, "smart": 1, "all": [1, 5, 9], "code": [1, 4, 6, 9], "actual": [1, 5], "data": [1, 5, 9], "locat": [1, 5, 7], "i": [1, 3, 4, 5, 6, 7], "done": 1, "two": 1, "step": 1, "first": [1, 7], "respons": 1, "map": [1, 5], "from": [1, 5, 7], "where": [1, 7], "thei": 1, "should": [1, 7, 9], "store": [1, 3], "memori": [1, 3, 5, 9], "Then": 1, "each": [1, 4, 9], "order": 1, "previous": 1, "assign": 1, "possibli": 1, "some": [1, 3, 4, 9], "befor": [1, 9], "after": 1, "concret": 1, "return": [1, 3, 4, 5, 7], "list": [1, 4, 5, 7, 9], "origin": 1, "The": [1, 4, 5, 7, 9], "iter": [1, 4], "over": [1, 4], "handl": 1, "transpar": 1, "none": [1, 4, 5, 7], "old_instr": 1, "transform": 1, "an": [1, 4, 7], "listcod": 1, "modifi": 1, "try": 1, "fail": 1, "ar": [1, 3, 5, 7, 9], "more": 1, "than": [1, 5], "correspond": 1, "too": 1, "mani": 1, "except": 2, "contain": [3, 4], "metadata": 3, "well": 3, "util": [3, 4, 7], "common": 3, "differ": [3, 5], "intermedi": 3, "represent": [3, 4], "str": [3, 4, 5, 7], "variabl": [3, 4], "div_by_zero": 3, "usual": 3, "indirectli": 3, "through": 3, "we": [3, 5, 9], "work": [3, 9], "new": [3, 4, 5, 7], "which": [3, 5, 7], "ad": 3, "pool": [3, 5], "stack": 3, "decreas": 3, "rel": 3, "int": [3, 5], "current": 3, "uniqu": 3, "given": [3, 4, 7], "string": [3, 5], "cap": [4, 6], "codegener": [4, 6], "api": [4, 6, 9], "linear": 4, "program": 4, "repeatedli": 4, "codegen": 4, "visitor": 4, "build": [4, 5], "complet": 4, "member": 4, "meta": 4, "inform": 4, "instanc": 4, "see": 4, "For": 4, "debug": 4, "purpos": [4, 5], "allow": [4, 5, 9], "print": [4, 7], "also": [4, 5], "relev": 4, "f": 4, "real": 4, "reg": 4, "integ": [4, 5], "valu": [4, 5, 7], "newlin": 4, "expand": 4, "output": [4, 7], "text": 4, "path": 4, "filenam": 4, "df": 4, "view": 4, "fals": 4, "graph": 4, "its": [5, 7, 9], "subclass": 5, "itself": 5, "ha": 5, "address": [5, 7, 9], "constant": 5, "yet": 5, "shortcut": 5, "optyp": 5, "e": 5, "comparison": 5, "condjump": 5, "exampl": 5, "usag": 5, "beq": [5, 6], "branch": [5, 7], "equal": 5, "minicpars": [5, 6], "lt": 5, "lower": 5, "constructor": 5, "argument": [5, 9], "shall": 5, "all_op": 5, "oper": 5, "gt": 5, "one": [5, 7], "kei": [5, 7], "opdict": 5, "method": 5, "get": 5, "opposit": 5, "either": 5, "place": 5, "number": 5, "physic": 5, "cours": 5, "a2": 5, "a3": 5, "a4": 5, "a5": 5, "a6": 5, "a7": 5, "s1": 5, "s2": 5, "s3": 5, "s4": 5, "s5": 5, "s6": 5, "s7": 5, "s8": 5, "s9": 5, "s10": 5, "s11": 5, "t0": 5, "t1": 5, "t2": 5, "t3": 5, "t4": 5, "t5": 5, "t6": 5, "frame": 5, "pointer": 5, "save": 5, "0": 5, "usabl": 5, "basereg": 5, "comput": 5, "val": 5, "been": [5, 7], "It": [5, 7], "later": 5, "manag": 5, "dict": [5, 7], "give": [5, 9], "must": 5, "other": [5, 7], "typic": 5, "type": 5, "enforc": 5, "check": 5, "inde": 5, "bool": 5, "true": [5, 7], "mif08": 6, "uncondit": 6, "wrapper": 6, "around": 6, "bge": 6, "bgt": 6, "c": 6, "like": 6, "eq": 6, "dr": 6, "sr1": 6, "sr2orimm7": 6, "And": 6, "cannot": 6, "due": 6, "python": [6, 9], "Or": 6, "imm7": 6, "sr": 6, "mem": 6, "asm": 7, "inherit": 7, "In": 7, "turn": 7, "regular": 7, "non": [7, 9], "3": [7, 9], "registerset": 7, "pretti": 7, "set": 7, "written": 7, "read": 7, "subst": 7, "tstatement": 7, "clone": 7, "appear": [7, 9], "new_arg": 7, "have": [7, 9], "stream": 7, "never": 7, "both": 7, "onli": 7, "otherwis": 7, "consid": 7, "destin": 7, "take": [7, 9], "absolut": 7, "specif": 7, "kind": [7, 9], "j": 7, "lib": [8, 9], "packag": 8, "submodul": 8, "modul": [8, 9], "content": 8, "risc": 9, "v": 9, "These": 9, "page": 9, "variou": 9, "folder": 9, "you": 9, "edit": 9, "them": 9, "repres": 9, "assembli": 9, "won": 9, "creat": 9, "directli": 9, "veri": 9, "often": 9, "instead": 9, "easili": 9, "standard": 9, "pseudo": 9, "At": 9, "point": 9, "need": 9, "basic": 9, "about": 9, "orient": 9, "those": 9, "present": 9, "model": 9, "lab": 9, "4a": 9, "understand": 9, "cfg": 9, "block": 9, "end": 9, "termin": 9, "translat": 9, "make": 9, "domin": 9, "frontier": 9, "phi": 9, "node": 9, "special": 9, "phinod": 9, "index": 9, "search": 9}, "objects": {"": [[0, 0, 0, "-", "Lib"]], "Lib": [[1, 0, 0, "-", "Allocator"], [2, 0, 0, "-", "Errors"], [3, 0, 0, "-", "FunctionData"], [4, 0, 0, "-", "LinearCode"], [5, 0, 0, "-", "Operands"], [6, 0, 0, "-", "RiscV"], [7, 0, 0, "-", "Statement"]], "Lib.Allocator": [[1, 1, 1, "", "Allocator"], [1, 1, 1, "", "NaiveAllocator"]], "Lib.Allocator.Allocator": [[1, 2, 1, "", "prepare"], [1, 2, 1, "", "replace"], [1, 2, 1, "", "rewriteCode"]], "Lib.Allocator.NaiveAllocator": [[1, 2, 1, "", "prepare"], [1, 2, 1, "", "replace"]], "Lib.Errors": [[2, 3, 1, "", "AllocationError"], [2, 3, 1, "", "MiniCInternalError"], [2, 3, 1, "", "MiniCRuntimeError"], [2, 3, 1, "", "MiniCTypeError"], [2, 3, 1, "", "MiniCUnsupportedError"]], "Lib.FunctionData": [[3, 1, 1, "", "FunctionData"]], "Lib.FunctionData.FunctionData": [[3, 2, 1, "", "fresh_label"], [3, 2, 1, "", "fresh_offset"], [3, 2, 1, "", "fresh_tmp"], [3, 2, 1, "", "get_label_div_by_zero"], [3, 2, 1, "", "get_name"], [3, 2, 1, "", "get_offset"]], "Lib.LinearCode": [[4, 1, 1, "", "LinearCode"]], "Lib.LinearCode.LinearCode": [[4, 2, 1, "", "add_comment"], [4, 2, 1, "", "add_instruction"], [4, 2, 1, "", "add_instruction_PRINTLN_INT"], [4, 2, 1, "", "add_label"], [4, 4, 1, "", "fdata"], [4, 2, 1, "", "get_instructions"], [4, 2, 1, "", "iter_statements"], [4, 2, 1, "", "print_code"], [4, 2, 1, "", "print_dot"]], "Lib.Operands": [[5, 5, 1, "", "A"], [5, 5, 1, "", "A0"], [5, 5, 1, "", "A1"], [5, 1, 1, "", "Condition"], [5, 1, 1, "", "DataLocation"], [5, 5, 1, "", "FP"], [5, 1, 1, "", "Function"], [5, 5, 1, "", "GP"], [5, 5, 1, "", "GP_REGS"], [5, 1, 1, "", "Immediate"], [5, 1, 1, "", "Offset"], [5, 1, 1, "", "Operand"], [5, 5, 1, "", "RA"], [5, 1, 1, "", "Register"], [5, 1, 1, "", "Renamer"], [5, 5, 1, "", "S"], [5, 5, 1, "", "SP"], [5, 5, 1, "", "T"], [5, 5, 1, "", "TP"], [5, 1, 1, "", "Temporary"], [5, 1, 1, "", "TemporaryPool"], [5, 5, 1, "", "ZERO"]], "Lib.Operands.Condition": [[5, 2, 1, "", "negate"]], "Lib.Operands.Offset": [[5, 2, 1, "", "get_offset"]], "Lib.Operands.Renamer": [[5, 2, 1, "", "copy"], [5, 2, 1, "", "defined"], [5, 2, 1, "", "fresh"], [5, 2, 1, "", "replace"]], "Lib.Operands.Temporary": [[5, 2, 1, "", "get_alloced_loc"]], "Lib.Operands.TemporaryPool": [[5, 2, 1, "", "add_tmp"], [5, 2, 1, "", "fresh_tmp"], [5, 2, 1, "", "get_all_temps"], [5, 2, 1, "", "get_alloced_loc"], [5, 2, 1, "", "set_temp_allocation"]], "Lib.RiscV": [[6, 6, 1, "", "add"], [6, 6, 1, "", "call"], [6, 6, 1, "", "conditional_jump"], [6, 6, 1, "", "div"], [6, 6, 1, "", "jump"], [6, 6, 1, "", "land"], [6, 6, 1, "", "ld"], [6, 6, 1, "", "li"], [6, 6, 1, "", "lor"], [6, 6, 1, "", "mul"], [6, 6, 1, "", "mv"], [6, 6, 1, "", "rem"], [6, 6, 1, "", "sd"], [6, 6, 1, "", "sub"], [6, 6, 1, "", "xor"]], "Lib.Statement": [[7, 1, 1, "", "AbsoluteJump"], [7, 1, 1, "", "Comment"], [7, 1, 1, "", "ConditionalJump"], [7, 1, 1, "", "Instru3A"], [7, 1, 1, "", "Instruction"], [7, 1, 1, "", "Label"], [7, 1, 1, "", "Statement"], [7, 6, 1, "", "regset_to_string"]], "Lib.Statement.AbsoluteJump": [[7, 2, 1, "", "args"], [7, 4, 1, "", "ins"], [7, 4, 1, "", "label"], [7, 2, 1, "", "rename"], [7, 2, 1, "", "substitute"], [7, 2, 1, "", "targets"], [7, 2, 1, "", "with_args"]], "Lib.Statement.Comment": [[7, 4, 1, "", "comment"], [7, 2, 1, "", "printIns"]], "Lib.Statement.ConditionalJump": [[7, 2, 1, "", "args"], [7, 4, 1, "", "cond"], [7, 4, 1, "", "label"], [7, 4, 1, "", "op1"], [7, 4, 1, "", "op2"], [7, 2, 1, "", "rename"], [7, 2, 1, "", "substitute"], [7, 2, 1, "", "with_args"]], "Lib.Statement.Instru3A": [[7, 2, 1, "", "args"], [7, 2, 1, "", "rename"], [7, 2, 1, "", "substitute"], [7, 2, 1, "", "with_args"]], "Lib.Statement.Instruction": [[7, 2, 1, "", "args"], [7, 2, 1, "", "defined"], [7, 4, 1, "", "ins"], [7, 2, 1, "", "is_read_only"], [7, 2, 1, "", "printIns"], [7, 2, 1, "", "rename"], [7, 2, 1, "", "used"]], "Lib.Statement.Label": [[7, 4, 1, "", "name"], [7, 2, 1, "", "printIns"]], "Lib.Statement.Statement": [[7, 2, 1, "", "defined"], [7, 2, 1, "", "printIns"], [7, 2, 1, "", "substitute"], [7, 2, 1, "", "used"], [7, 2, 1, "", "with_args"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:data", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "data", "Python data"], "6": ["py", "function", "Python function"]}, "titleterms": {"lib": [0, 1, 2, 3, 4, 5, 6, 7], "packag": 0, "submodul": 0, "modul": [0, 1, 2, 3, 4, 5, 6, 7], "content": [0, 9], "alloc": [1, 9], "error": 2, "functiondata": 3, "linearcod": 4, "operand": 5, "riscv": 6, "statement": 7, "minic": [8, 9], "welcom": 9, "": 9, "document": 9, "base": 9, "librari": 9, "linear": 9, "intermedi": 9, "represent": 9, "temporari": 9, "control": 9, "flow": 9, "graph": 9, "ssa": 9, "form": 9, "indic": 9, "tabl": 9}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Lib package": [[0, "lib-package"]], "Submodules": [[0, "submodules"]], "Module contents": [[0, "module-Lib"]], "Lib.Allocator module": [[1, "module-Lib.Allocator"]], "Lib.Errors module": [[2, "module-Lib.Errors"]], "Lib.FunctionData module": [[3, "module-Lib.FunctionData"]], "Lib.LinearCode module": [[4, "module-Lib.LinearCode"]], "Lib.Operands module": [[5, "module-Lib.Operands"]], "Lib.RiscV module": [[6, "module-Lib.RiscV"]], "Lib.Statement module": [[7, "module-Lib.Statement"]], "MiniC": [[8, "minic"]], "Welcome to MiniC\u2019s documentation!": [[9, "welcome-to-minic-s-documentation"]], "Contents:": [[9, null]], "Base library": [[9, "base-library"]], "Linear Intermediate representation": [[9, "linear-intermediate-representation"]], "Temporary allocation": [[9, "temporary-allocation"]], "Control Flow Graph Intermediate representation": [[9, "control-flow-graph-intermediate-representation"]], "SSA form": [[9, "ssa-form"]], "Indices and tables": [[9, "indices-and-tables"]]}, "indexentries": {"lib": [[0, "module-Lib"]], "module": [[0, "module-Lib"], [1, "module-Lib.Allocator"], [2, "module-Lib.Errors"], [3, "module-Lib.FunctionData"], [4, "module-Lib.LinearCode"], [5, "module-Lib.Operands"], [6, "module-Lib.RiscV"], [7, "module-Lib.Statement"]], "allocator (class in lib.allocator)": [[1, "Lib.Allocator.Allocator"]], "lib.allocator": [[1, "module-Lib.Allocator"]], "naiveallocator (class in lib.allocator)": [[1, "Lib.Allocator.NaiveAllocator"]], "prepare() (lib.allocator.allocator method)": [[1, "Lib.Allocator.Allocator.prepare"]], "prepare() (lib.allocator.naiveallocator method)": [[1, "Lib.Allocator.NaiveAllocator.prepare"]], "replace() (lib.allocator.allocator method)": [[1, "Lib.Allocator.Allocator.replace"]], "replace() (lib.allocator.naiveallocator method)": [[1, "Lib.Allocator.NaiveAllocator.replace"]], "rewritecode() (lib.allocator.allocator method)": [[1, "Lib.Allocator.Allocator.rewriteCode"]], "allocationerror": [[2, "Lib.Errors.AllocationError"]], "lib.errors": [[2, "module-Lib.Errors"]], "minicinternalerror": [[2, "Lib.Errors.MiniCInternalError"]], "minicruntimeerror": [[2, "Lib.Errors.MiniCRuntimeError"]], "minictypeerror": [[2, "Lib.Errors.MiniCTypeError"]], "minicunsupportederror": [[2, "Lib.Errors.MiniCUnsupportedError"]], "functiondata (class in lib.functiondata)": [[3, "Lib.FunctionData.FunctionData"]], "lib.functiondata": [[3, "module-Lib.FunctionData"]], "fresh_label() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.fresh_label"]], "fresh_offset() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.fresh_offset"]], "fresh_tmp() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.fresh_tmp"]], "get_label_div_by_zero() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.get_label_div_by_zero"]], "get_name() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.get_name"]], "get_offset() (lib.functiondata.functiondata method)": [[3, "Lib.FunctionData.FunctionData.get_offset"]], "lib.linearcode": [[4, "module-Lib.LinearCode"]], "linearcode (class in lib.linearcode)": [[4, "Lib.LinearCode.LinearCode"]], "add_comment() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.add_comment"]], "add_instruction() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.add_instruction"]], "add_instruction_println_int() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.add_instruction_PRINTLN_INT"]], "add_label() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.add_label"]], "fdata (lib.linearcode.linearcode attribute)": [[4, "Lib.LinearCode.LinearCode.fdata"]], "get_instructions() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.get_instructions"]], "iter_statements() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.iter_statements"]], "print_code() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.print_code"]], "print_dot() (lib.linearcode.linearcode method)": [[4, "Lib.LinearCode.LinearCode.print_dot"]], "a (in module lib.operands)": [[5, "Lib.Operands.A"]], "a0 (in module lib.operands)": [[5, "Lib.Operands.A0"]], "a1 (in module lib.operands)": [[5, "Lib.Operands.A1"]], "condition (class in lib.operands)": [[5, "Lib.Operands.Condition"]], "datalocation (class in lib.operands)": [[5, "Lib.Operands.DataLocation"]], "fp (in module lib.operands)": [[5, "Lib.Operands.FP"]], "function (class in lib.operands)": [[5, "Lib.Operands.Function"]], "gp (in module lib.operands)": [[5, "Lib.Operands.GP"]], "gp_regs (in module lib.operands)": [[5, "Lib.Operands.GP_REGS"]], "immediate (class in lib.operands)": [[5, "Lib.Operands.Immediate"]], "lib.operands": [[5, "module-Lib.Operands"]], "offset (class in lib.operands)": [[5, "Lib.Operands.Offset"]], "operand (class in lib.operands)": [[5, "Lib.Operands.Operand"]], "ra (in module lib.operands)": [[5, "Lib.Operands.RA"]], "register (class in lib.operands)": [[5, "Lib.Operands.Register"]], "renamer (class in lib.operands)": [[5, "Lib.Operands.Renamer"]], "s (in module lib.operands)": [[5, "Lib.Operands.S"]], "sp (in module lib.operands)": [[5, "Lib.Operands.SP"]], "t (in module lib.operands)": [[5, "Lib.Operands.T"]], "tp (in module lib.operands)": [[5, "Lib.Operands.TP"]], "temporary (class in lib.operands)": [[5, "Lib.Operands.Temporary"]], "temporarypool (class in lib.operands)": [[5, "Lib.Operands.TemporaryPool"]], "zero (in module lib.operands)": [[5, "Lib.Operands.ZERO"]], "add_tmp() (lib.operands.temporarypool method)": [[5, "Lib.Operands.TemporaryPool.add_tmp"]], "copy() (lib.operands.renamer method)": [[5, "Lib.Operands.Renamer.copy"]], "defined() (lib.operands.renamer method)": [[5, "Lib.Operands.Renamer.defined"]], "fresh() (lib.operands.renamer method)": [[5, "Lib.Operands.Renamer.fresh"]], "fresh_tmp() (lib.operands.temporarypool method)": [[5, "Lib.Operands.TemporaryPool.fresh_tmp"]], "get_all_temps() (lib.operands.temporarypool method)": [[5, "Lib.Operands.TemporaryPool.get_all_temps"]], "get_alloced_loc() (lib.operands.temporary method)": [[5, "Lib.Operands.Temporary.get_alloced_loc"]], "get_alloced_loc() (lib.operands.temporarypool method)": [[5, "Lib.Operands.TemporaryPool.get_alloced_loc"]], "get_offset() (lib.operands.offset method)": [[5, "Lib.Operands.Offset.get_offset"]], "negate() (lib.operands.condition method)": [[5, "Lib.Operands.Condition.negate"]], "replace() (lib.operands.renamer method)": [[5, "Lib.Operands.Renamer.replace"]], "set_temp_allocation() (lib.operands.temporarypool method)": [[5, "Lib.Operands.TemporaryPool.set_temp_allocation"]], "lib.riscv": [[6, "module-Lib.RiscV"]], "add() (in module lib.riscv)": [[6, "Lib.RiscV.add"]], "call() (in module lib.riscv)": [[6, "Lib.RiscV.call"]], "conditional_jump() (in module lib.riscv)": [[6, "Lib.RiscV.conditional_jump"]], "div() (in module lib.riscv)": [[6, "Lib.RiscV.div"]], "jump() (in module lib.riscv)": [[6, "Lib.RiscV.jump"]], "land() (in module lib.riscv)": [[6, "Lib.RiscV.land"]], "ld() (in module lib.riscv)": [[6, "Lib.RiscV.ld"]], "li() (in module lib.riscv)": [[6, "Lib.RiscV.li"]], "lor() (in module lib.riscv)": [[6, "Lib.RiscV.lor"]], "mul() (in module lib.riscv)": [[6, "Lib.RiscV.mul"]], "mv() (in module lib.riscv)": [[6, "Lib.RiscV.mv"]], "rem() (in module lib.riscv)": [[6, "Lib.RiscV.rem"]], "sd() (in module lib.riscv)": [[6, "Lib.RiscV.sd"]], "sub() (in module lib.riscv)": [[6, "Lib.RiscV.sub"]], "xor() (in module lib.riscv)": [[6, "Lib.RiscV.xor"]], "absolutejump (class in lib.statement)": [[7, "Lib.Statement.AbsoluteJump"]], "comment (class in lib.statement)": [[7, "Lib.Statement.Comment"]], "conditionaljump (class in lib.statement)": [[7, "Lib.Statement.ConditionalJump"]], "instru3a (class in lib.statement)": [[7, "Lib.Statement.Instru3A"]], "instruction (class in lib.statement)": [[7, "Lib.Statement.Instruction"]], "label (class in lib.statement)": [[7, "Lib.Statement.Label"]], "lib.statement": [[7, "module-Lib.Statement"]], "statement (class in lib.statement)": [[7, "Lib.Statement.Statement"]], "args() (lib.statement.absolutejump method)": [[7, "Lib.Statement.AbsoluteJump.args"]], "args() (lib.statement.conditionaljump method)": [[7, "Lib.Statement.ConditionalJump.args"]], "args() (lib.statement.instru3a method)": [[7, "Lib.Statement.Instru3A.args"]], "args() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.args"]], "comment (lib.statement.comment attribute)": [[7, "Lib.Statement.Comment.comment"]], "cond (lib.statement.conditionaljump attribute)": [[7, "Lib.Statement.ConditionalJump.cond"]], "defined() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.defined"]], "defined() (lib.statement.statement method)": [[7, "Lib.Statement.Statement.defined"]], "ins (lib.statement.absolutejump attribute)": [[7, "Lib.Statement.AbsoluteJump.ins"]], "ins (lib.statement.instruction attribute)": [[7, "Lib.Statement.Instruction.ins"]], "is_read_only() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.is_read_only"]], "label (lib.statement.absolutejump attribute)": [[7, "Lib.Statement.AbsoluteJump.label"]], "label (lib.statement.conditionaljump attribute)": [[7, "Lib.Statement.ConditionalJump.label"]], "name (lib.statement.label attribute)": [[7, "Lib.Statement.Label.name"]], "op1 (lib.statement.conditionaljump attribute)": [[7, "Lib.Statement.ConditionalJump.op1"]], "op2 (lib.statement.conditionaljump attribute)": [[7, "Lib.Statement.ConditionalJump.op2"]], "printins() (lib.statement.comment method)": [[7, "Lib.Statement.Comment.printIns"]], "printins() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.printIns"]], "printins() (lib.statement.label method)": [[7, "Lib.Statement.Label.printIns"]], "printins() (lib.statement.statement method)": [[7, "Lib.Statement.Statement.printIns"]], "regset_to_string() (in module lib.statement)": [[7, "Lib.Statement.regset_to_string"]], "rename() (lib.statement.absolutejump method)": [[7, "Lib.Statement.AbsoluteJump.rename"]], "rename() (lib.statement.conditionaljump method)": [[7, "Lib.Statement.ConditionalJump.rename"]], "rename() (lib.statement.instru3a method)": [[7, "Lib.Statement.Instru3A.rename"]], "rename() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.rename"]], "substitute() (lib.statement.absolutejump method)": [[7, "Lib.Statement.AbsoluteJump.substitute"]], "substitute() (lib.statement.conditionaljump method)": [[7, "Lib.Statement.ConditionalJump.substitute"]], "substitute() (lib.statement.instru3a method)": [[7, "Lib.Statement.Instru3A.substitute"]], "substitute() (lib.statement.statement method)": [[7, "Lib.Statement.Statement.substitute"]], "targets() (lib.statement.absolutejump method)": [[7, "Lib.Statement.AbsoluteJump.targets"]], "used() (lib.statement.instruction method)": [[7, "Lib.Statement.Instruction.used"]], "used() (lib.statement.statement method)": [[7, "Lib.Statement.Statement.used"]], "with_args() (lib.statement.absolutejump method)": [[7, "Lib.Statement.AbsoluteJump.with_args"]], "with_args() (lib.statement.conditionaljump method)": [[7, "Lib.Statement.ConditionalJump.with_args"]], "with_args() (lib.statement.instru3a method)": [[7, "Lib.Statement.Instru3A.with_args"]], "with_args() (lib.statement.statement method)": [[7, "Lib.Statement.Statement.with_args"]]}}) |