Commit Graph

  • e23d12bbc7 Add an icmp_imm instruction. Jakob Stoklund Olesen 2017-04-03 09:49:44 -07:00
  • 2e45365ee1 Add an icmp_imm instruction. Jakob Stoklund Olesen 2017-04-03 09:49:44 -07:00
  • f70ae03b47 Skip the Python checks if the Python files haven't changed. Jakob Stoklund Olesen 2017-03-31 15:45:21 -07:00
  • 6532cbab6c Skip the Python checks if the Python files haven't changed. Jakob Stoklund Olesen 2017-03-31 15:45:21 -07:00
  • 9ddbc5d861 Emit Rshamt-type instructions for RISC-V. Jakob Stoklund Olesen 2017-03-31 15:33:21 -07:00
  • 8187fd7371 Emit Rshamt-type instructions for RISC-V. Jakob Stoklund Olesen 2017-03-31 15:33:21 -07:00
  • c9a14448b8 Emit I-type instructions for RISC-V. Jakob Stoklund Olesen 2017-03-31 15:15:20 -07:00
  • 7c9d187b6d Emit I-type instructions for RISC-V. Jakob Stoklund Olesen 2017-03-31 15:15:20 -07:00
  • e9907fbdd6 Add RISC-V encodings for supported icmp variants. Jakob Stoklund Olesen 2017-03-31 12:12:09 -07:00
  • 39fc0eb3cf Add RISC-V encodings for supported icmp variants. Jakob Stoklund Olesen 2017-03-31 12:12:09 -07:00
  • 75b156e1c7 Allow for instructions with operands in encodings. Jakob Stoklund Olesen 2017-03-31 11:58:59 -07:00
  • ebc418d25e Allow for instructions with operands in encodings. Jakob Stoklund Olesen 2017-03-31 11:58:59 -07:00
  • 0403845c40 Add Apply.inst_predicate(). Jakob Stoklund Olesen 2017-03-31 10:12:23 -07:00
  • 3c3d068379 Add Apply.inst_predicate(). Jakob Stoklund Olesen 2017-03-31 10:12:23 -07:00
  • 63a6ade0a5 Add InstructionFormat.imm_fields. Jakob Stoklund Olesen 2017-03-31 10:12:37 -07:00
  • 89ff979d75 Add InstructionFormat.imm_fields. Jakob Stoklund Olesen 2017-03-31 10:12:37 -07:00
  • 2f50ae3166 Add an IsEqual FieldPredicate. Jakob Stoklund Olesen 2017-03-31 10:12:44 -07:00
  • b31ca83b91 Add an IsEqual FieldPredicate. Jakob Stoklund Olesen 2017-03-31 10:12:44 -07:00
  • 98ecebd85b Add a mypy.ini file and enable some more warnings. Jakob Stoklund Olesen 2017-03-30 19:52:06 -07:00
  • 3b0ac20ce2 Add a mypy.ini file and enable some more warnings. Jakob Stoklund Olesen 2017-03-30 19:52:06 -07:00
  • fc979c474f Add mypy types for gen_settings.py. Jakob Stoklund Olesen 2017-03-30 18:42:06 -07:00
  • a9ec28ab7c Add mypy types for gen_settings.py. Jakob Stoklund Olesen 2017-03-30 18:42:06 -07:00
  • 469ecd91bf Add mypy types for gen_encoding.py. Jakob Stoklund Olesen 2017-03-30 17:07:24 -07:00
  • 49766bae12 Add mypy types for gen_encoding.py. Jakob Stoklund Olesen 2017-03-30 17:07:24 -07:00
  • 1a066c4054 Add mypy types for gen_instr.py. Jakob Stoklund Olesen 2017-03-30 16:20:40 -07:00
  • c5f2ef8edb Add mypy types for gen_instr.py. Jakob Stoklund Olesen 2017-03-30 16:20:40 -07:00
  • 353dc72b5b Verify integrity of the existing control flow graph of the context. (#70) Angus Holder 2017-03-30 23:34:50 +01:00
  • b94d01f892 Verify integrity of the existing control flow graph of the context. (#70) Angus Holder 2017-03-30 23:34:50 +01:00
  • cfe2c7f46f Add more mypy annotations. Jakob Stoklund Olesen 2017-03-30 15:15:53 -07:00
  • a82e521291 Add more mypy annotations. Jakob Stoklund Olesen 2017-03-30 15:15:53 -07:00
  • 02051c4764 Add mypy annotations to cdsl.predicates, settings. Jakob Stoklund Olesen 2017-03-30 14:11:19 -07:00
  • ae12c94d04 Add mypy annotations to cdsl.predicates, settings. Jakob Stoklund Olesen 2017-03-30 14:11:19 -07:00
  • aa06e40456 Allow dot syntax notation for enumerated immediate operands. Jakob Stoklund Olesen 2017-03-30 11:33:28 -07:00
  • d2eb745265 Allow dot syntax notation for enumerated immediate operands. Jakob Stoklund Olesen 2017-03-30 11:33:28 -07:00
  • cb33f93fcd Use pretty_verifier_error in runone too. Jakob Stoklund Olesen 2017-03-29 15:30:44 -07:00
  • ffeeba7c93 Use pretty_verifier_error in runone too. Jakob Stoklund Olesen 2017-03-29 15:30:44 -07:00
  • 4c3e590bb9 Run verifier after legalizer and regalloc file tests. Jakob Stoklund Olesen 2017-03-29 15:16:59 -07:00
  • e1711f42f6 Run verifier after legalizer and regalloc file tests. Jakob Stoklund Olesen 2017-03-29 15:16:59 -07:00
  • 7a0092754d Allow vector types for isplit and iconcat. Jakob Stoklund Olesen 2017-03-29 15:13:19 -07:00
  • de543bb308 Allow vector types for isplit and iconcat. Jakob Stoklund Olesen 2017-03-29 15:13:19 -07:00
  • b5d4046591 Fix a type error in the legalizer patterns. Jakob Stoklund Olesen 2017-03-29 14:40:12 -07:00
  • 62641d4553 Fix a type error in the legalizer patterns. Jakob Stoklund Olesen 2017-03-29 14:40:12 -07:00
  • 4613cbcf18 Test binary encodings of some RV32I instructions. Jakob Stoklund Olesen 2017-03-29 11:00:05 -07:00
  • a5d4839002 Test binary encodings of some RV32I instructions. Jakob Stoklund Olesen 2017-03-29 11:00:05 -07:00
  • 269f6d3dd0 Add Vim syntax support for Name and HexSequence tokens. Jakob Stoklund Olesen 2017-03-29 10:30:22 -07:00
  • f968c60724 Add Vim syntax support for Name and HexSequence tokens. Jakob Stoklund Olesen 2017-03-29 10:30:22 -07:00
  • 892ad25b1b Type checking and Dominator Tree integrity checks in Verifier (#66) Angus Holder 2017-03-29 21:14:42 +01:00
  • b5fda64b49 Type checking and Dominator Tree integrity checks in Verifier (#66) Angus Holder 2017-03-29 21:14:42 +01:00
  • 6ad34f90aa Allow for unencoded instructions in the binemit tests. Jakob Stoklund Olesen 2017-03-29 09:48:25 -07:00
  • 1d6049b8f8 Allow for unencoded instructions in the binemit tests. Jakob Stoklund Olesen 2017-03-29 09:48:25 -07:00
  • f540cb0664 Add a binemit test command. Jakob Stoklund Olesen 2017-03-28 15:43:41 -07:00
  • 36eb39a1f8 Add a binemit test command. Jakob Stoklund Olesen 2017-03-28 15:43:41 -07:00
  • 0619d6f827 Generate binemit::emit_inst() functions. Jakob Stoklund Olesen 2017-03-27 16:11:54 -07:00
  • ca2b1c79d7 Generate binemit::emit_inst() functions. Jakob Stoklund Olesen 2017-03-27 16:11:54 -07:00
  • 19710af5b7 Start the binemit module. Jakob Stoklund Olesen 2017-03-23 12:31:29 -07:00
  • bbbae4dc47 Start the binemit module. Jakob Stoklund Olesen 2017-03-23 12:31:29 -07:00
  • 5027e096b5 Add dfg.inst_args(_mut) methods. Jakob Stoklund Olesen 2017-03-23 12:39:05 -07:00
  • f710f13949 Add dfg.inst_args(_mut) methods. Jakob Stoklund Olesen 2017-03-23 12:39:05 -07:00
  • 6fdbbf2b1a Legalize EBBs in a reverse post-order. Jakob Stoklund Olesen 2017-03-23 09:50:26 -07:00
  • c5c9f211df Legalize EBBs in a reverse post-order. Jakob Stoklund Olesen 2017-03-23 09:50:26 -07:00
  • cc5c4932ca Remove spurious shell redirections from install commands. Jakob Stoklund Olesen 2017-03-23 09:42:36 -07:00
  • cd52b671e6 Remove spurious shell redirections from install commands. Jakob Stoklund Olesen 2017-03-23 09:42:36 -07:00
  • d9f325f6cd Simplify branch arguments after splitting EBB arguments. Jakob Stoklund Olesen 2017-03-22 15:26:06 -07:00
  • 12b2af3f8a Simplify branch arguments after splitting EBB arguments. Jakob Stoklund Olesen 2017-03-22 15:26:06 -07:00
  • c7e25e6a35 Limit type inference for controlling type variables in write.rs Keith Yeung 2017-03-22 06:02:07 +08:00
  • 07740b5e3c Limit type inference for controlling type variables in write.rs Keith Yeung 2017-03-22 06:02:07 +08:00
  • 26ee382b57 Fix weird indentation. Jakob Stoklund Olesen 2017-03-22 13:17:25 -07:00
  • 098a48e332 Fix weird indentation. Jakob Stoklund Olesen 2017-03-22 13:17:25 -07:00
  • 272df6489c Iteratively split EBB arguments. Jakob Stoklund Olesen 2017-03-21 14:38:42 -07:00
  • 19db81f6a8 Iteratively split EBB arguments. Jakob Stoklund Olesen 2017-03-21 14:38:42 -07:00
  • d32c19c81d Add a DataFlowGraph::replace_ebb_arg() method. Jakob Stoklund Olesen 2017-03-22 10:36:42 -07:00
  • 2ebbc78f74 Add a DataFlowGraph::replace_ebb_arg() method. Jakob Stoklund Olesen 2017-03-22 10:36:42 -07:00
  • ca6e402b90 Add a ControlFlowGraph argument to legalize_function. Jakob Stoklund Olesen 2017-03-21 15:48:08 -07:00
  • e941a7db5f Add a ControlFlowGraph argument to legalize_function. Jakob Stoklund Olesen 2017-03-21 15:48:08 -07:00
  • a9056f699e Rename the 'cfg' module to 'flowgraph'. Jakob Stoklund Olesen 2017-03-21 15:33:23 -07:00
  • f84e218a93 Rename the 'cfg' module to 'flowgraph'. Jakob Stoklund Olesen 2017-03-21 15:33:23 -07:00
  • 697246658d Avoid generating value split instructions. Jakob Stoklund Olesen 2017-03-21 13:25:08 -07:00
  • 22334bcb54 Avoid generating value split instructions. Jakob Stoklund Olesen 2017-03-21 13:25:08 -07:00
  • 2a321f42fb Strip the _lohi suffix from the isplit instructions. Jakob Stoklund Olesen 2017-03-21 13:08:17 -07:00
  • a44a4d2718 Strip the _lohi suffix from the isplit instructions. Jakob Stoklund Olesen 2017-03-21 13:08:17 -07:00
  • dfdc1ed514 Move ABI boundary legalization into a sub-module. Jakob Stoklund Olesen 2017-03-20 15:14:51 -07:00
  • 159486c707 Move ABI boundary legalization into a sub-module. Jakob Stoklund Olesen 2017-03-20 15:14:51 -07:00
  • 34e5675d17 Add OpcodeConstraints::value_argument_constraint(). Jakob Stoklund Olesen 2017-03-20 14:47:09 -07:00
  • 90d68e0435 Add OpcodeConstraints::value_argument_constraint(). Jakob Stoklund Olesen 2017-03-20 14:47:09 -07:00
  • d383a41851 Verify that all predecessors to an EBB are valid branches, and have the EBB recorded as a successor. Angus Holder 2017-03-20 11:07:50 +00:00
  • bb0246c8c1 Verify that all predecessors to an EBB are valid branches, and have the EBB recorded as a successor. Angus Holder 2017-03-20 11:07:50 +00:00
  • 8b300a9efb Verify that values are defined by an EBB/instruction that dominates the instruction that uses them. Angus Holder 2017-03-20 10:02:06 +00:00
  • c596ea1ac1 Verify that values are defined by an EBB/instruction that dominates the instruction that uses them. Angus Holder 2017-03-20 10:02:06 +00:00
  • c50bf2aa68 Verify that values have a valid reference to either an instruction inserted in an EBB, or an EBB inserted in the layout. Angus Holder 2017-03-14 20:13:44 +00:00
  • 298cf2ed21 Verify that values have a valid reference to either an instruction inserted in an EBB, or an EBB inserted in the layout. Angus Holder 2017-03-14 20:13:44 +00:00
  • f15651132b Fix a bug in analyze_call(). Jakob Stoklund Olesen 2017-03-17 12:34:03 -07:00
  • e83cccb6fc Fix a bug in analyze_call(). Jakob Stoklund Olesen 2017-03-17 12:34:03 -07:00
  • d881ed331b Legalize return values from call instructions. Jakob Stoklund Olesen 2017-03-16 17:50:49 -07:00
  • a8a7cebe8c Legalize return values from call instructions. Jakob Stoklund Olesen 2017-03-16 17:50:49 -07:00
  • 56d12b14ff Add attach_secondary_result and append_secondary_result. Jakob Stoklund Olesen 2017-03-16 16:54:26 -07:00
  • 6549065491 Add attach_secondary_result and append_secondary_result. Jakob Stoklund Olesen 2017-03-16 16:54:26 -07:00
  • 6dc11d1267 Use a closure to control the convert_from_abi() function. Jakob Stoklund Olesen 2017-03-16 14:42:41 -07:00
  • a36160aa20 Use a closure to control the convert_from_abi() function. Jakob Stoklund Olesen 2017-03-16 14:42:41 -07:00
  • 4964502782 Break out differently purposed tests from abi.cton. Jakob Stoklund Olesen 2017-03-17 10:05:56 -07:00
  • e4a83c8063 Break out differently purposed tests from abi.cton. Jakob Stoklund Olesen 2017-03-17 10:05:56 -07:00