Commit Graph

  • db62f435f8 Make register copies for incompatible operands. Jakob Stoklund Olesen 2017-06-14 13:56:06 -07:00
  • 66bc0a9c8b Make register copies for incompatible operands. Jakob Stoklund Olesen 2017-06-14 13:56:06 -07:00
  • 4503306f0e Add RISC-V encodings for call_indirect. Jakob Stoklund Olesen 2017-06-14 16:14:16 -07:00
  • 9eb0778f9b Add RISC-V encodings for call_indirect. Jakob Stoklund Olesen 2017-06-14 16:14:16 -07:00
  • 3e1e2b6e5e Add RISC-V encodings for copy instructions. Jakob Stoklund Olesen 2017-06-14 15:36:25 -07:00
  • 66af915eed Add RISC-V encodings for copy instructions. Jakob Stoklund Olesen 2017-06-14 15:36:25 -07:00
  • 96f1228211 Always call reassign_in for register ABI arguments. Jakob Stoklund Olesen 2017-06-14 12:05:47 -07:00
  • 8955b13620 Always call reassign_in for register ABI arguments. Jakob Stoklund Olesen 2017-06-14 12:05:47 -07:00
  • 897c363714 Update docopt dependency to 0.8.0. Jakob Stoklund Olesen 2017-06-14 10:35:01 -07:00
  • e7c6efa31e Update docopt dependency to 0.8.0. Jakob Stoklund Olesen 2017-06-14 10:35:01 -07:00
  • 454910407f Spill values live across calls. Jakob Stoklund Olesen 2017-06-14 08:55:01 -07:00
  • f2f162f37e Spill values live across calls. Jakob Stoklund Olesen 2017-06-14 08:55:01 -07:00
  • 0974b4a6e2 Extract spill insertion into a reload::insert_spill function. Jakob Stoklund Olesen 2017-06-13 15:43:14 -07:00
  • 5a23f975fc Extract spill insertion into a reload::insert_spill function. Jakob Stoklund Olesen 2017-06-13 15:43:14 -07:00
  • 396b998dad Handle ABI arguments correctly in the reload pass. Jakob Stoklund Olesen 2017-06-13 15:13:36 -07:00
  • 6381da948f Handle ABI arguments correctly in the reload pass. Jakob Stoklund Olesen 2017-06-13 15:13:36 -07:00
  • 63a372fd80 Basic spilling implementation. Jakob Stoklund Olesen 2017-06-08 10:33:22 -07:00
  • 36f189810e Basic spilling implementation. Jakob Stoklund Olesen 2017-06-08 10:33:22 -07:00
  • 9cea092bc3 Track transient register counts in Pressure. Jakob Stoklund Olesen 2017-06-12 11:55:01 -07:00
  • 96fe287f67 Track transient register counts in Pressure. Jakob Stoklund Olesen 2017-06-12 11:55:01 -07:00
  • 5336bbd4cc Add RISC-V encodings for spill and fill. Jakob Stoklund Olesen 2017-06-13 13:39:52 -07:00
  • 00551dbc5f Add RISC-V encodings for spill and fill. Jakob Stoklund Olesen 2017-06-13 13:39:52 -07:00
  • ea8a8a95a8 Remove the ebb_dominates function. Jakob Stoklund Olesen 2017-06-12 14:59:34 -07:00
  • 2875c6ddf9 Remove the ebb_dominates function. Jakob Stoklund Olesen 2017-06-12 14:59:34 -07:00
  • a1dfd0f06f Generalize DominatorTree::dominates. Jakob Stoklund Olesen 2017-06-12 14:52:42 -07:00
  • d2dc7232c2 Generalize DominatorTree::dominates. Jakob Stoklund Olesen 2017-06-12 14:52:42 -07:00
  • 4f9ff548bd Generalize rpo_cmp to handle all program points. Jakob Stoklund Olesen 2017-06-12 13:53:12 -07:00
  • 9090bbda24 Generalize rpo_cmp to handle all program points. Jakob Stoklund Olesen 2017-06-12 13:53:12 -07:00
  • 706eef23d3 Binary function names (#91) Aleksey Kuznetsov 2017-06-10 22:30:37 +05:00
  • 8b484b1c77 Binary function names (#91) Aleksey Kuznetsov 2017-06-10 22:30:37 +05:00
  • 2f33848fcd Improved DFG API (#95) Denis Merigoux 2017-06-09 16:20:38 -07:00
  • 731278aad8 Improved DFG API (#95) Denis Merigoux 2017-06-09 16:20:38 -07:00
  • 81284dbd93 LICM pass: small changes after code review (#94) Denis Merigoux 2017-06-08 09:41:57 -07:00
  • dacc4003a3 LICM pass: small changes after code review (#94) Denis Merigoux 2017-06-08 09:41:57 -07:00
  • 6563270c63 Remove cfg.postorder_ebbs(). Jakob Stoklund Olesen 2017-06-07 13:41:29 -07:00
  • eec980618b Remove cfg.postorder_ebbs(). Jakob Stoklund Olesen 2017-06-07 13:41:29 -07:00
  • f22461b4b3 Stop using cfg.postorder_ebbs(). Jakob Stoklund Olesen 2017-06-07 13:38:27 -07:00
  • 94872cc971 Stop using cfg.postorder_ebbs(). Jakob Stoklund Olesen 2017-06-07 13:38:27 -07:00
  • 0d227fd230 Add a minimalistic reload pass. Jakob Stoklund Olesen 2017-05-24 09:28:15 -07:00
  • d94bd8c236 Add a minimalistic reload pass. Jakob Stoklund Olesen 2017-05-24 09:28:15 -07:00
  • dcdfa59aec Implement a conversion from ValueDef into ProgramPoint. Jakob Stoklund Olesen 2017-06-07 11:33:47 -07:00
  • ac1db6e3c9 Implement a conversion from ValueDef into ProgramPoint. Jakob Stoklund Olesen 2017-06-07 11:33:47 -07:00
  • 9adfd8709b Add Liveness methods for updating live ranges. Jakob Stoklund Olesen 2017-06-07 10:39:47 -07:00
  • f545c97cb0 Add Liveness methods for updating live ranges. Jakob Stoklund Olesen 2017-06-07 10:39:47 -07:00
  • e47f4a49fb LICM pass (#87) Denis Merigoux 2017-06-07 11:27:22 -07:00
  • 9b06f76057 LICM pass (#87) Denis Merigoux 2017-06-07 11:27:22 -07:00
  • 402cb8e1f6 Add a dfg::replace_result() method. Jakob Stoklund Olesen 2017-06-05 15:07:48 -07:00
  • 2d8588d72a Add a dfg::replace_result() method. Jakob Stoklund Olesen 2017-06-05 15:07:48 -07:00
  • de0f0e5f0a Updated the regex crate to 0.2.2 as per issue #88 (#90) Igor 2017-06-03 22:40:53 +03:00
  • 90958729fa Updated the regex crate to 0.2.2 as per issue #88 (#90) Igor 2017-06-03 22:40:53 +03:00
  • c1d095de18 Run rustfmt on lib/filecheck/tests/basic.rs Aleksey Kuznetsov 2017-06-03 16:20:41 +05:00
  • 80d92ccbb5 Run rustfmt on lib/filecheck/tests/basic.rs Aleksey Kuznetsov 2017-06-03 16:20:41 +05:00
  • 026ed7a470 Move lib/filecheck/src/tests directory to lib/filecheck Aleksey Kuznetsov 2017-06-03 16:16:39 +05:00
  • 920e32ed49 Move lib/filecheck/src/tests directory to lib/filecheck Aleksey Kuznetsov 2017-06-03 16:16:39 +05:00
  • 16df1f1cf5 Compute a CFG post-order when building the dominator tree. Jakob Stoklund Olesen 2017-06-02 15:08:02 -07:00
  • 22ad3c0bf8 Compute a CFG post-order when building the dominator tree. Jakob Stoklund Olesen 2017-06-02 15:08:02 -07:00
  • b02ccea8dc Loop analysis of the IL Denis Merigoux 2017-06-02 15:00:29 -07:00
  • 7d6113e479 Loop analysis of the IL Denis Merigoux 2017-06-02 15:00:29 -07:00
  • 4f26764e71 Remove unnecessary cloned() in reader::lexer::trailing_digits() Aleksey Kuznetsov 2017-06-01 20:48:36 +05:00
  • cb35869803 Remove unnecessary cloned() in reader::lexer::trailing_digits() Aleksey Kuznetsov 2017-06-01 20:48:36 +05:00
  • 0e023e97ea Fix more GVN issues (#83) Dan Gohman 2017-05-25 16:37:31 -07:00
  • 059845880c Fix more GVN issues (#83) Dan Gohman 2017-05-25 16:37:31 -07:00
  • c826aefa0a Start a very simple GVN pass (#79) Dan Gohman 2017-05-18 18:18:57 -07:00
  • dc809628f4 Start a very simple GVN pass (#79) Dan Gohman 2017-05-18 18:18:57 -07:00
  • 1d8efaad83 Add a register pressure tracker. Jakob Stoklund Olesen 2017-05-16 10:02:57 -07:00
  • 0c7b2c7b68 Add a register pressure tracker. Jakob Stoklund Olesen 2017-05-16 10:02:57 -07:00
  • d1e37def3f Implement ExactSizeIterator for RegSetIter. Jakob Stoklund Olesen 2017-05-16 10:46:19 -07:00
  • 06afd3b77b Implement ExactSizeIterator for RegSetIter. Jakob Stoklund Olesen 2017-05-16 10:46:19 -07:00
  • 6787a4ea5c Add a RegClassMask typedef and a MAX_TOPRCS constant. Jakob Stoklund Olesen 2017-05-15 16:01:24 -07:00
  • 66d2c0a95a Add a RegClassMask typedef and a MAX_TOPRCS constant. Jakob Stoklund Olesen 2017-05-15 16:01:24 -07:00
  • 71bb7483b7 Compute top-level register classes for each register bank. Jakob Stoklund Olesen 2017-05-15 13:39:59 -07:00
  • 09ac27a797 Compute top-level register classes for each register bank. Jakob Stoklund Olesen 2017-05-15 13:39:59 -07:00
  • 621f3a2f50 Add a register bank index to RegClassData. Jakob Stoklund Olesen 2017-05-15 13:01:41 -07:00
  • ca6eddaf88 Add a register bank index to RegClassData. Jakob Stoklund Olesen 2017-05-15 13:01:41 -07:00
  • 29dc723e25 Update rustfmt to 0.8.4; (#81) Benjamin Bouvier 2017-05-16 00:10:47 +02:00
  • a2fd9cf0cc Update rustfmt to 0.8.4; (#81) Benjamin Bouvier 2017-05-16 00:10:47 +02:00
  • 232fb36d8f Generate Intel encoding recipes on demand. Jakob Stoklund Olesen 2017-05-14 11:53:44 -07:00
  • 0694384728 Generate Intel encoding recipes on demand. Jakob Stoklund Olesen 2017-05-14 11:53:44 -07:00
  • bd8230411a Encodings for load/store instructions. Jakob Stoklund Olesen 2017-05-12 14:26:44 -07:00
  • 9629867d0c Encodings for load/store instructions. Jakob Stoklund Olesen 2017-05-12 14:26:44 -07:00
  • f4929825ca Add subtract and logical instruction encodings to Intel-32. Jakob Stoklund Olesen 2017-05-12 10:35:18 -07:00
  • c998df6274 Add subtract and logical instruction encodings to Intel-32. Jakob Stoklund Olesen 2017-05-12 10:35:18 -07:00
  • 31b7330b8d Return the first applicable encoding from general_encoding(). Jakob Stoklund Olesen 2017-05-12 15:31:08 -07:00
  • 3aaa8b2f91 Return the first applicable encoding from general_encoding(). Jakob Stoklund Olesen 2017-05-12 15:31:08 -07:00
  • 6fd95c1158 Implement reloc_names() for all targets. Jakob Stoklund Olesen 2017-05-11 17:58:11 -07:00
  • 4158c4e09c Implement reloc_names() for all targets. Jakob Stoklund Olesen 2017-05-11 17:58:11 -07:00
  • c713ea8c57 Add fixed constraints for ABI arguments and return values. Jakob Stoklund Olesen 2017-05-11 10:11:28 -07:00
  • 663b50efcc Add fixed constraints for ABI arguments and return values. Jakob Stoklund Olesen 2017-05-11 10:11:28 -07:00
  • 9be262e878 Implement a move resolver for the register constraint solver. Jakob Stoklund Olesen 2017-05-10 15:36:14 -07:00
  • 51fc887a5a Implement a move resolver for the register constraint solver. Jakob Stoklund Olesen 2017-05-10 15:36:14 -07:00
  • b521254149 Solver variables keep track of where they came from. Jakob Stoklund Olesen 2017-05-10 12:31:59 -07:00
  • f8e466d60e Solver variables keep track of where they came from. Jakob Stoklund Olesen 2017-05-10 12:31:59 -07:00
  • 21b4c3a00b Simplify the dead EBB argument tracking. Jakob Stoklund Olesen 2017-05-11 11:48:58 -07:00
  • 4dda3e02f1 Simplify the dead EBB argument tracking. Jakob Stoklund Olesen 2017-05-11 11:48:58 -07:00
  • d1390006b1 Always create live ranges for dead EBB arguments. Jakob Stoklund Olesen 2017-05-11 11:42:44 -07:00
  • 9f743cf3a5 Always create live ranges for dead EBB arguments. Jakob Stoklund Olesen 2017-05-11 11:42:44 -07:00
  • 94944d2057 Keep dead EBB arguments around in LiveValueTracker::ebb_top(). Jakob Stoklund Olesen 2017-05-11 11:25:35 -07:00
  • d03a217466 Keep dead EBB arguments around in LiveValueTracker::ebb_top(). Jakob Stoklund Olesen 2017-05-11 11:25:35 -07:00
  • 2c0d4136b0 Propagate a few more LiveRange properties to LiveValue. Jakob Stoklund Olesen 2017-05-11 11:03:18 -07:00
  • 9d4e23d894 Propagate a few more LiveRange properties to LiveValue. Jakob Stoklund Olesen 2017-05-11 11:03:18 -07:00