Commit Graph

  • 38fa75459e Check for unknown instruction attributes. (#80) Dan Gohman 2017-05-11 10:21:59 -07:00
  • 5ff2257b12 Check for unknown instruction attributes. (#80) Dan Gohman 2017-05-11 10:21:59 -07:00
  • fb9d86f852 Fix rustfmt diffs. Dan Gohman 2017-05-11 06:27:13 -07:00
  • 526feb161a Fix rustfmt diffs. Dan Gohman 2017-05-11 06:27:13 -07:00
  • ad9a942f52 Use write! in utility code, rather than calling write_function directly. Dan Gohman 2017-05-10 14:58:14 -07:00
  • c571975a5c Use write! in utility code, rather than calling write_function directly. Dan Gohman 2017-05-10 14:58:14 -07:00
  • 6b4c28d554 Use a constraint solver for register coloring. Jakob Stoklund Olesen 2017-04-28 15:41:28 -07:00
  • be047ba5c4 Use a constraint solver for register coloring. Jakob Stoklund Olesen 2017-04-28 15:41:28 -07:00
  • 2873019779 Add a register diversion tracker. Jakob Stoklund Olesen 2017-05-02 13:48:19 -07:00
  • 0dbdd90af7 Add a register diversion tracker. Jakob Stoklund Olesen 2017-05-02 13:48:19 -07:00
  • a0085434af Add encodings for Intel dynamic shift instructions. Jakob Stoklund Olesen 2017-05-08 20:56:08 -07:00
  • cdb3a71dd1 Add encodings for Intel dynamic shift instructions. Jakob Stoklund Olesen 2017-05-08 20:56:08 -07:00
  • 976b22d816 Make srem have the sign of the dividend. Dan Gohman 2017-05-09 11:43:58 -07:00
  • db9f64d2f3 Make srem have the sign of the dividend. Dan Gohman 2017-05-09 11:43:58 -07:00
  • 041fda63ac Add the very basics of Intel 32-bit instruction encodings. Jakob Stoklund Olesen 2017-04-30 13:34:51 -07:00
  • 5bdb61a5f1 Add the very basics of Intel 32-bit instruction encodings. Jakob Stoklund Olesen 2017-04-30 13:34:51 -07:00
  • 39e69ff565 Add constraint summaries to RecipeConstraints. Jakob Stoklund Olesen 2017-05-08 12:44:22 -07:00
  • 3d2fdec1af Add constraint summaries to RecipeConstraints. Jakob Stoklund Olesen 2017-05-08 12:44:22 -07:00
  • 0f41cbdee2 Add support for tied operand constraints. Jakob Stoklund Olesen 2017-05-08 15:21:00 -07:00
  • b3b15f9c32 Add support for tied operand constraints. Jakob Stoklund Olesen 2017-05-08 15:21:00 -07:00
  • 402e437a4a Also return live-through values from process_inst(). Jakob Stoklund Olesen 2017-05-08 13:57:39 -07:00
  • fedc834ecd Also return live-through values from process_inst(). Jakob Stoklund Olesen 2017-05-08 13:57:39 -07:00
  • f8a3a01f96 Add a few register utilities. Jakob Stoklund Olesen 2017-05-02 09:59:58 -07:00
  • d1d6c626d9 Add a few register utilities. Jakob Stoklund Olesen 2017-05-02 09:59:58 -07:00
  • aaa70a677d Add a regs_overlap function to the isa module. Jakob Stoklund Olesen 2017-05-08 12:20:35 -07:00
  • 9bbeaeda24 Add a regs_overlap function to the isa module. Jakob Stoklund Olesen 2017-05-08 12:20:35 -07:00
  • aecd90a1b9 Run mypy in python 3 mode. Jakob Stoklund Olesen 2017-05-08 12:54:09 -07:00
  • 673279068f Run mypy in python 3 mode. Jakob Stoklund Olesen 2017-05-08 12:54:09 -07:00
  • 1818bb18b5 Ignore .mypy_cache Jakob Stoklund Olesen 2017-05-08 12:24:32 -07:00
  • 7a1ba057e4 Ignore .mypy_cache Jakob Stoklund Olesen 2017-05-08 12:24:32 -07:00
  • 950838c489 Add a regmove instruction. Jakob Stoklund Olesen 2017-05-02 11:32:12 -07:00
  • 8cd67f08a9 Add a regmove instruction. Jakob Stoklund Olesen 2017-05-02 11:32:12 -07:00
  • 71128611a7 Extract the topological ordering into a module. Jakob Stoklund Olesen 2017-04-27 17:39:58 -07:00
  • 6fe4aa2f8d Extract the topological ordering into a module. Jakob Stoklund Olesen 2017-04-27 17:39:58 -07:00
  • 40488c8e22 Install rustfmt as a separate Travis install step. Jakob Stoklund Olesen 2017-04-27 13:39:05 -07:00
  • a29ea664e2 Install rustfmt as a separate Travis install step. Jakob Stoklund Olesen 2017-04-27 13:39:05 -07:00
  • 43304e9abc Upgrade to rustfmt 0.8.3. Jakob Stoklund Olesen 2017-04-27 12:52:41 -07:00
  • 15606fa735 Upgrade to rustfmt 0.8.3. Jakob Stoklund Olesen 2017-04-27 12:52:41 -07:00
  • ee5f035e31 Upgrade to Rust 1.17. Jakob Stoklund Olesen 2017-04-27 12:28:18 -07:00
  • 962a3a6a5e Upgrade to Rust 1.17. Jakob Stoklund Olesen 2017-04-27 12:28:18 -07:00
  • eaf1ed09fc Color entry block arguments using the function signature. Jakob Stoklund Olesen 2017-04-26 14:38:16 -07:00
  • 4c8eb85f39 Color entry block arguments using the function signature. Jakob Stoklund Olesen 2017-04-26 14:38:16 -07:00
  • 6197bfff72 Add a TargetIsa::allocatable_registers() method. Jakob Stoklund Olesen 2017-04-26 13:54:40 -07:00
  • bb8ae9a4fb Add a TargetIsa::allocatable_registers() method. Jakob Stoklund Olesen 2017-04-26 13:54:40 -07:00
  • a4acc26d5a Add an enable_e setting for the RV32E instruction set. Jakob Stoklund Olesen 2017-04-26 13:13:15 -07:00
  • 305de3e73b Add an enable_e setting for the RV32E instruction set. Jakob Stoklund Olesen 2017-04-26 13:13:15 -07:00
  • 9db131c3bf Rename Affinity::Any to Affinity::None. Jakob Stoklund Olesen 2017-04-25 15:40:06 -07:00
  • 1e51f97108 Rename Affinity::Any to Affinity::None. Jakob Stoklund Olesen 2017-04-25 15:40:06 -07:00
  • 2f81fbdb77 Add an Affinity::display() method. Jakob Stoklund Olesen 2017-04-26 11:15:46 -07:00
  • 2f866171ca Add an Affinity::display() method. Jakob Stoklund Olesen 2017-04-26 11:15:46 -07:00
  • a20ae9eade Assign an affinity to function argument values. Jakob Stoklund Olesen 2017-04-26 10:47:43 -07:00
  • 93db01d38a Assign an affinity to function argument values. Jakob Stoklund Olesen 2017-04-26 10:47:43 -07:00
  • e67f5e210f Add a TargetIsa::regclass_for_abi_type() function. Jakob Stoklund Olesen 2017-04-26 10:11:50 -07:00
  • cd99eee86b Add a TargetIsa::regclass_for_abi_type() function. Jakob Stoklund Olesen 2017-04-26 10:11:50 -07:00
  • d078c546e5 Add an EntityMap::get_or_default() method. Jakob Stoklund Olesen 2017-04-25 15:50:59 -07:00
  • c36aedfd03 Add an EntityMap::get_or_default() method. Jakob Stoklund Olesen 2017-04-25 15:50:59 -07:00
  • 440add86e7 Make sure that encodings has entries for all instructions after legalize(). Eric Anholt 2017-04-23 11:55:14 -07:00
  • a332c3d024 Make sure that encodings has entries for all instructions after legalize(). Eric Anholt 2017-04-23 11:55:14 -07:00
  • d47f43df11 Make sure we double back after legalizing an instruction. Eric Anholt 2017-04-23 11:45:12 -07:00
  • b13cd2321c Make sure we double back after legalizing an instruction. Eric Anholt 2017-04-23 11:45:12 -07:00
  • 042418b367 Update a comment for the move of display_enc(). Eric Anholt 2017-04-22 17:39:43 -07:00
  • 551a91178a Update a comment for the move of display_enc(). Eric Anholt 2017-04-22 17:39:43 -07:00
  • 43ce26e64b Verify that the instruction encoding matches what the ISA would encode. Eric Anholt 2017-04-22 16:58:29 -07:00
  • 100666e300 Verify that the instruction encoding matches what the ISA would encode. Eric Anholt 2017-04-22 16:58:29 -07:00
  • d0d5f3bb26 Run the post-regalloc verification inside the regalloc context. Jakob Stoklund Olesen 2017-04-21 16:23:33 -07:00
  • 5d9e703e4f Run the post-regalloc verification inside the regalloc context. Jakob Stoklund Olesen 2017-04-21 16:23:33 -07:00
  • c5da572ebb Add a liveness verifier. Jakob Stoklund Olesen 2017-04-21 13:35:20 -07:00
  • 85f277a2fb Add a liveness verifier. Jakob Stoklund Olesen 2017-04-21 13:35:20 -07:00
  • c4b794f7cf Run the verifier in the Context methods when it is enabled. Jakob Stoklund Olesen 2017-04-21 12:36:35 -07:00
  • 225ed39fbd Run the verifier in the Context methods when it is enabled. Jakob Stoklund Olesen 2017-04-21 12:36:35 -07:00
  • 6e95b08df1 Verifier results are always void. Jakob Stoklund Olesen 2017-04-21 12:03:05 -07:00
  • b6105ab79b Verifier results are always void. Jakob Stoklund Olesen 2017-04-21 12:03:05 -07:00
  • bac47f2fb8 Add global CtonResult and CtonError types. Jakob Stoklund Olesen 2017-04-21 10:55:12 -07:00
  • 83381dadc5 Add global CtonResult and CtonError types. Jakob Stoklund Olesen 2017-04-21 10:55:12 -07:00
  • 866efd91b7 Add an enable_verifier setting. Jakob Stoklund Olesen 2017-04-21 09:49:03 -07:00
  • 4cf3babda0 Add an enable_verifier setting. Jakob Stoklund Olesen 2017-04-21 09:49:03 -07:00
  • 3005f903f7 Move the verifier into a verifier/mod.rs file. Jakob Stoklund Olesen 2017-04-20 14:38:03 -07:00
  • c621770507 Move the verifier into a verifier/mod.rs file. Jakob Stoklund Olesen 2017-04-20 14:38:03 -07:00
  • d66a9d196e Implement binary emission of RISC-V return instructions. Jakob Stoklund Olesen 2017-04-19 16:26:04 -07:00
  • 9c23196049 Implement binary emission of RISC-V return instructions. Jakob Stoklund Olesen 2017-04-19 16:26:04 -07:00
  • 0cb36c9031 Remove the return_reg instruction. Jakob Stoklund Olesen 2017-04-19 16:08:16 -07:00
  • 832247019b Remove the return_reg instruction. Jakob Stoklund Olesen 2017-04-19 16:08:16 -07:00
  • e44a5a4391 Append link and sret arguments in legalize_signature. Jakob Stoklund Olesen 2017-04-19 15:44:17 -07:00
  • 315c858b48 Append link and sret arguments in legalize_signature. Jakob Stoklund Olesen 2017-04-19 15:44:17 -07:00
  • d9ddf4fc5a Simplify check_arg_types(). Jakob Stoklund Olesen 2017-04-19 14:53:14 -07:00
  • c040a495c0 Simplify check_arg_types(). Jakob Stoklund Olesen 2017-04-19 14:53:14 -07:00
  • 49c1209572 Fix broken test. Jakob Stoklund Olesen 2017-04-17 15:45:55 -07:00
  • 74595c6623 Fix broken test. Jakob Stoklund Olesen 2017-04-17 15:45:55 -07:00
  • d424589daa Allow for special purpose function arguments and return values. Jakob Stoklund Olesen 2017-04-17 15:04:00 -07:00
  • 7e9bdcf059 Allow for special purpose function arguments and return values. Jakob Stoklund Olesen 2017-04-17 15:04:00 -07:00
  • b151e942d9 Stop tracking if instruction formats have multiple results. Jakob Stoklund Olesen 2017-04-13 12:24:20 -07:00
  • d3235eb81f Stop tracking if instruction formats have multiple results. Jakob Stoklund Olesen 2017-04-13 12:24:20 -07:00
  • e5115d7793 Remove detach_secondary_results() and other cleanups. Jakob Stoklund Olesen 2017-04-13 10:37:58 -07:00
  • bf74445eac Remove detach_secondary_results() and other cleanups. Jakob Stoklund Olesen 2017-04-13 10:37:58 -07:00
  • 3c8bdba15e Don't create value aliases when legalizing ABI boundaries. Jakob Stoklund Olesen 2017-04-13 10:16:58 -07:00
  • f9d3e65419 Don't create value aliases when legalizing ABI boundaries. Jakob Stoklund Olesen 2017-04-13 10:16:58 -07:00
  • 7ad882c154 Avoid creating value aliases in legalizer/split.rs. Jakob Stoklund Olesen 2017-04-13 09:45:36 -07:00
  • c716d86c8d Avoid creating value aliases in legalizer/split.rs. Jakob Stoklund Olesen 2017-04-13 09:45:36 -07:00
  • d48f79aa72 Avoid creating aliases when expanding legalizer patterns. Jakob Stoklund Olesen 2017-04-12 17:19:28 -07:00
  • 3ae0fe6e2b Avoid creating aliases when expanding legalizer patterns. Jakob Stoklund Olesen 2017-04-12 17:19:28 -07:00