Commit Graph

  • 528e6ff3f5 Generate instruction unwrapping code for binemit recipes. Jakob Stoklund Olesen 2017-07-07 11:33:38 -07:00
  • 464f2625d4 Generate instruction unwrapping code for binemit recipes. Jakob Stoklund Olesen 2017-07-07 11:33:38 -07:00
  • 27d272ade0 Add a fmt.multi_line() method to srcgen.Formatter. Jakob Stoklund Olesen 2017-07-07 14:32:13 -07:00
  • 814d076936 Add a fmt.multi_line() method to srcgen.Formatter. Jakob Stoklund Olesen 2017-07-07 14:32:13 -07:00
  • f0abff3611 Handle tied operands that are not killed by their use. Jakob Stoklund Olesen 2017-07-05 14:23:58 -07:00
  • 22541086fd Handle tied operands that are not killed by their use. Jakob Stoklund Olesen 2017-07-05 14:23:58 -07:00
  • 64f6a98abe Test a tied operand following a fixed register operand. Jakob Stoklund Olesen 2017-07-05 12:50:20 -07:00
  • d8d07a6dfc Test a tied operand following a fixed register operand. Jakob Stoklund Olesen 2017-07-05 12:50:20 -07:00
  • 60efc68931 Only print pressure for toprcs containing registers. Jakob Stoklund Olesen 2017-07-05 14:22:34 -07:00
  • 6f8262438b Only print pressure for toprcs containing registers. Jakob Stoklund Olesen 2017-07-05 14:22:34 -07:00
  • 9662f102e5 Intel 32-bit encodings for copy.i32. Jakob Stoklund Olesen 2017-07-05 15:12:35 -07:00
  • 0f285cb137 Intel 32-bit encodings for copy.i32. Jakob Stoklund Olesen 2017-07-05 15:12:35 -07:00
  • 01abbcbebe Cleanup typos; Remove SAMEAS; More descriptive rank comments; Introduce explicit sorting in free_typevars() (#111) d1m0 2017-07-05 15:47:44 -07:00
  • 83e55525d6 Cleanup typos; Remove SAMEAS; More descriptive rank comments; Introduce explicit sorting in free_typevars() (#111) d1m0 2017-07-05 15:47:44 -07:00
  • b7917fe404 Test two consecutive fixed operands. Jakob Stoklund Olesen 2017-07-05 12:19:55 -07:00
  • fe127ab3eb Test two consecutive fixed operands. Jakob Stoklund Olesen 2017-07-05 12:19:55 -07:00
  • e7db3f2b3a Add a test with a fixed register constraint. Jakob Stoklund Olesen 2017-07-05 11:14:08 -07:00
  • 9a7ee4ca12 Add a test with a fixed register constraint. Jakob Stoklund Olesen 2017-07-05 11:14:08 -07:00
  • 9108716cb7 Implement fmt::Display for AllocatableSet. Jakob Stoklund Olesen 2017-06-30 19:09:10 -07:00
  • c75004339b Implement fmt::Display for AllocatableSet. Jakob Stoklund Olesen 2017-06-30 19:09:10 -07:00
  • e35398842d Add better type inference and encapsulate it in its own file (#110) d1m0 2017-07-05 09:16:44 -07:00
  • a5c96ef6bf Add better type inference and encapsulate it in its own file (#110) d1m0 2017-07-05 09:16:44 -07:00
  • e63c581859 Fixed bug in verifier (#109) Denis Merigoux 2017-07-05 08:44:51 -07:00
  • f867ddbf0c Fixed bug in verifier (#109) Denis Merigoux 2017-07-05 08:44:51 -07:00
  • 0d2d1ea8cf Add support for tied operands. Jakob Stoklund Olesen 2017-06-30 13:34:18 -07:00
  • 8c60555409 Add support for tied operands. Jakob Stoklund Olesen 2017-06-30 13:34:18 -07:00
  • 811c1059fc Add Intel call/return encodings. Jakob Stoklund Olesen 2017-06-30 12:21:36 -07:00
  • 1a24489a0e Add Intel call/return encodings. Jakob Stoklund Olesen 2017-06-30 12:21:36 -07:00
  • c592d3174f Add Intel iconst.i32 encoding. Jakob Stoklund Olesen 2017-06-30 11:41:06 -07:00
  • 3608be35a9 Add Intel iconst.i32 encoding. Jakob Stoklund Olesen 2017-06-30 11:41:06 -07:00
  • 7bc2e82b16 Implement the basics of the x86-64 ABI. Jakob Stoklund Olesen 2017-06-30 10:37:42 -07:00
  • 9766fc3fcd Implement the basics of the x86-64 ABI. Jakob Stoklund Olesen 2017-06-30 10:37:42 -07:00
  • 983048cdd1 Generate an enum with all the register units in a target. Jakob Stoklund Olesen 2017-06-30 09:32:42 -07:00
  • 68ca285507 Generate an enum with all the register units in a target. Jakob Stoklund Olesen 2017-06-30 09:32:42 -07:00
  • aa3bf4467e Hook up the handling of tied register constraints. Jakob Stoklund Olesen 2017-06-30 08:41:54 -07:00
  • 6c5f5e1147 Hook up the handling of tied register constraints. Jakob Stoklund Olesen 2017-06-30 08:41:54 -07:00
  • 18dc420352 Repair constraint violations during spilling. Jakob Stoklund Olesen 2017-06-29 16:51:05 -07:00
  • bf5281ca41 Repair constraint violations during spilling. Jakob Stoklund Olesen 2017-06-29 16:51:05 -07:00
  • 2b999d9bd6 Add an Index<Value> implementation to Liveness. Jakob Stoklund Olesen 2017-06-29 15:13:04 -07:00
  • 51dcabd87c Add an Index<Value> implementation to Liveness. Jakob Stoklund Olesen 2017-06-29 15:13:04 -07:00
  • 138d3c75c6 Spill live-ins and EBB arguments if there are too many. Jakob Stoklund Olesen 2017-06-29 14:07:19 -07:00
  • 3fbcdb4ea6 Spill live-ins and EBB arguments if there are too many. Jakob Stoklund Olesen 2017-06-29 14:07:19 -07:00
  • ae661631aa Only color EBB arguments that have register affinity. Jakob Stoklund Olesen 2017-06-29 13:29:43 -07:00
  • 8c84e2b2aa Only color EBB arguments that have register affinity. Jakob Stoklund Olesen 2017-06-29 13:29:43 -07:00
  • d6f73ac4c8 Split spill_from() into spill_candidate() and spill_reg(). Jakob Stoklund Olesen 2017-06-29 11:11:46 -07:00
  • 66dbf9517b Split spill_from() into spill_candidate() and spill_reg(). Jakob Stoklund Olesen 2017-06-29 11:11:46 -07:00
  • 588ef0ad2f Propagate affinities for EBB arguments. Jakob Stoklund Olesen 2017-06-29 10:30:26 -07:00
  • 6d34476cd6 Propagate affinities for EBB arguments. Jakob Stoklund Olesen 2017-06-29 10:30:26 -07:00
  • e7a543ea33 Make sure return values are assigned an affinity. Jakob Stoklund Olesen 2017-06-28 19:30:36 -07:00
  • cd1503eced Make sure return values are assigned an affinity. Jakob Stoklund Olesen 2017-06-28 19:30:36 -07:00
  • 0574dcdeee Don't coalesce incoming stack arguments. Jakob Stoklund Olesen 2017-06-28 15:37:38 -07:00
  • c4532b901e Don't coalesce incoming stack arguments. Jakob Stoklund Olesen 2017-06-28 15:37:38 -07:00
  • b2fda76c5f Assign stack slots to incoming function arguments. Jakob Stoklund Olesen 2017-06-28 14:59:59 -07:00
  • 2a600b3632 Assign stack slots to incoming function arguments. Jakob Stoklund Olesen 2017-06-28 14:59:59 -07:00
  • 05cf44a156 Add an offset to StackSlotData. Jakob Stoklund Olesen 2017-06-28 14:05:11 -07:00
  • ed3157f508 Add an offset to StackSlotData. Jakob Stoklund Olesen 2017-06-28 14:05:11 -07:00
  • bbdf07a64e Color EBB arguments. Jakob Stoklund Olesen 2017-06-27 12:59:23 -07:00
  • 1d20c92ffe Color EBB arguments. Jakob Stoklund Olesen 2017-06-27 12:59:23 -07:00
  • 165e80d9bf Process ghost instruction kills during coloring. Jakob Stoklund Olesen 2017-06-27 16:04:50 -07:00
  • c24f64de3b Process ghost instruction kills during coloring. Jakob Stoklund Olesen 2017-06-27 16:04:50 -07:00
  • c073d919f4 Cleanup ValueType.get_names to with_bits form previous PR; Add computation of inverse image of typeset across a derived function - TypeSet.map_inverse; Change TypeVar.constrain_type to perform a more-general computation using inverse images of TypeSets; Tests for map_inverse; Dimo 2017-06-23 17:46:05 -07:00
  • 1fa8899192 Cleanup ValueType.get_names to with_bits form previous PR; Add computation of inverse image of typeset across a derived function - TypeSet.map_inverse; Change TypeVar.constrain_type to perform a more-general computation using inverse images of TypeSets; Tests for map_inverse; Dimo 2017-06-23 17:46:05 -07:00
  • 7c298078c8 Add image computation of typesets; Remove TypeVar.singleton_type - instead derive singleton type from typeset; (#104) d1m0 2017-06-23 11:57:24 -07:00
  • 6a9438d274 Add image computation of typesets; Remove TypeVar.singleton_type - instead derive singleton type from typeset; (#104) d1m0 2017-06-23 11:57:24 -07:00
  • 222ea74830 Spill whole virtual registers at a time. Jakob Stoklund Olesen 2017-06-23 10:43:59 -07:00
  • 9487b885da Spill whole virtual registers at a time. Jakob Stoklund Olesen 2017-06-23 10:43:59 -07:00
  • a79703c23f Add rusty-tags.* to .gitignore. Dan Gohman 2017-06-22 14:35:05 -07:00
  • 83cc08a457 Add rusty-tags.* to .gitignore. Dan Gohman 2017-06-22 14:35:05 -07:00
  • da24bd422a Convert interval sets inside TypeSet/ValueTypeSet in general sets (#102) d1m0 2017-06-22 16:47:14 -07:00
  • 4ebc0e8587 Convert interval sets inside TypeSet/ValueTypeSet in general sets (#102) d1m0 2017-06-22 16:47:14 -07:00
  • 85b624d13b Add a coalescing pass to the register allocator. Jakob Stoklund Olesen 2017-06-21 09:24:12 -07:00
  • cf967642a3 Add a coalescing pass to the register allocator. Jakob Stoklund Olesen 2017-06-21 09:24:12 -07:00
  • d5055275c4 Virtual registers. Jakob Stoklund Olesen 2017-06-20 15:17:19 -07:00
  • 719fc02c79 Virtual registers. Jakob Stoklund Olesen 2017-06-20 15:17:19 -07:00
  • d079dead9a Skip ghost instructions when coloring. Jakob Stoklund Olesen 2017-06-22 09:31:32 -07:00
  • 0f2459dd21 Skip ghost instructions when coloring. Jakob Stoklund Olesen 2017-06-22 09:31:32 -07:00
  • 03a856f4da Implement Display and Debug for the program point types. Jakob Stoklund Olesen 2017-06-22 08:44:08 -07:00
  • 2a9b8162c8 Implement Display and Debug for the program point types. Jakob Stoklund Olesen 2017-06-22 08:44:08 -07:00
  • 10e4b2fa06 Add two interference checking methods to LiveInterval. Jakob Stoklund Olesen 2017-06-21 10:03:39 -07:00
  • 268e8e3114 Add two interference checking methods to LiveInterval. Jakob Stoklund Olesen 2017-06-21 10:03:39 -07:00
  • 0f53fe1913 Add a simple_gvn test that includes some basic control flow. Dan Gohman 2017-06-22 14:34:21 -07:00
  • e094389f12 Add a simple_gvn test that includes some basic control flow. Dan Gohman 2017-06-22 14:34:21 -07:00
  • e15c332471 Encode iconst.i32 for RISC-V. Jakob Stoklund Olesen 2017-06-22 12:11:54 -07:00
  • 9e02b9818f Encode iconst.i32 for RISC-V. Jakob Stoklund Olesen 2017-06-22 12:11:54 -07:00
  • 4a5d48fe11 Documentation fixes (#103) Dan Gohman 2017-06-22 12:01:32 -07:00
  • e83e2ccf17 Documentation fixes (#103) Dan Gohman 2017-06-22 12:01:32 -07:00
  • b6cff6a98a Move EntityRef and entity_impl! into a new module. Jakob Stoklund Olesen 2017-06-20 10:07:23 -07:00
  • b4e785d0f5 Move EntityRef and entity_impl! into a new module. Jakob Stoklund Olesen 2017-06-20 10:07:23 -07:00
  • 0c7316ae28 Lint fixes (#99) Dan Gohman 2017-06-19 16:24:10 -07:00
  • 61a0844b24 Lint fixes (#99) Dan Gohman 2017-06-19 16:24:10 -07:00
  • 3693735874 Implement an iterator over encodings (#96) Aleksey Kuznetsov 2017-06-19 20:52:19 +05:00
  • 1a480a2578 Implement an iterator over encodings (#96) Aleksey Kuznetsov 2017-06-19 20:52:19 +05:00
  • 1dd8d913aa Assign spill slots to spilled values. Jakob Stoklund Olesen 2017-06-16 13:32:21 -07:00
  • 342121aba0 Assign spill slots to spilled values. Jakob Stoklund Olesen 2017-06-16 13:32:21 -07:00
  • ddbf46bef4 Add typedefs for the common entity maps. Jakob Stoklund Olesen 2017-06-16 13:08:13 -07:00
  • bae37e523f Add typedefs for the common entity maps. Jakob Stoklund Olesen 2017-06-16 13:08:13 -07:00
  • 605bda2925 Add a stack frame manager. Jakob Stoklund Olesen 2017-06-16 11:51:41 -07:00
  • a4cc66cb4a Add a stack frame manager. Jakob Stoklund Olesen 2017-06-16 11:51:41 -07:00
  • 7b97933996 Track stack slot kinds. Jakob Stoklund Olesen 2017-06-16 10:35:01 -07:00
  • 91d919c11a Track stack slot kinds. Jakob Stoklund Olesen 2017-06-16 10:35:01 -07:00