Commit Graph

  • c96d4daa20 Add a calling convention to all function signatures. Jakob Stoklund Olesen 2017-08-02 16:40:35 -07:00
  • 7f3b807597 Add a calling convention to all function signatures. Jakob Stoklund Olesen 2017-08-02 16:40:35 -07:00
  • 5fa991e325 Apply conditional compilation of isa targets Aleksey Kuznetsov 2017-07-29 20:05:45 +05:00
  • bf1820587c Apply conditional compilation of isa targets Aleksey Kuznetsov 2017-07-29 20:05:45 +05:00
  • c057e005ce Implement conditional compilation configuration in build.rs Aleksey Kuznetsov 2017-07-29 16:21:41 +05:00
  • bf5edd5c71 Implement conditional compilation configuration in build.rs Aleksey Kuznetsov 2017-07-29 16:21:41 +05:00
  • 5edf48b548 Compute the stack frame layout. Jakob Stoklund Olesen 2017-08-02 12:58:53 -07:00
  • 534d1dd10d Compute the stack frame layout. Jakob Stoklund Olesen 2017-08-02 12:58:53 -07:00
  • 587f37ec6c Don't use documentation-style comments inside a function body. (#131) Dan Gohman 2017-08-02 11:19:16 -07:00
  • f19ddb49a3 Don't use documentation-style comments inside a function body. (#131) Dan Gohman 2017-08-02 11:19:16 -07:00
  • 406d82f62a Avoid floating-point types in Ieee32::new and Ieee64::new. (#130) Dan Gohman 2017-08-02 11:05:49 -07:00
  • 39488630f6 Avoid floating-point types in Ieee32::new and Ieee64::new. (#130) Dan Gohman 2017-08-02 11:05:49 -07:00
  • f03f32ac93 Assign call arguments to stack slots. Jakob Stoklund Olesen 2017-08-01 13:32:30 -07:00
  • 6dc5b3e608 Assign call arguments to stack slots. Jakob Stoklund Olesen 2017-08-01 13:32:30 -07:00
  • ce9e6fe53e Verify the location of outgoing call arguments. Jakob Stoklund Olesen 2017-07-31 15:04:41 -07:00
  • d536888725 Verify the location of outgoing call arguments. Jakob Stoklund Olesen 2017-07-31 15:04:41 -07:00
  • 7d9edc2d5e Keep track of OutgoingArg stack slots. Jakob Stoklund Olesen 2017-07-31 12:58:20 -07:00
  • c50a836a56 Keep track of OutgoingArg stack slots. Jakob Stoklund Olesen 2017-07-31 12:58:20 -07:00
  • 3a4a1d4faf Cleanup for PR #123 (#129) d1m0 2017-07-31 16:02:27 -07:00
  • 9e3f4e9195 Cleanup for PR #123 (#129) d1m0 2017-07-31 16:02:27 -07:00
  • 07e1f682d0 Added Intel x86-64 encodings for 64bit loads and store instructions (#127) Denis Merigoux 2017-07-31 14:52:39 -07:00
  • b74723cb68 Added Intel x86-64 encodings for 64bit loads and store instructions (#127) Denis Merigoux 2017-07-31 14:52:39 -07:00
  • 54534e2147 Add Intel legalization for division and multiplication. Jakob Stoklund Olesen 2017-07-28 08:46:45 -07:00
  • be8331d0a0 Add Intel legalization for division and multiplication. Jakob Stoklund Olesen 2017-07-28 08:46:45 -07:00
  • 99d34cbbd7 Try to depend only on the ir module being in scope. Jakob Stoklund Olesen 2017-07-28 16:13:51 -07:00
  • 6609d7baf4 Try to depend only on the ir module being in scope. Jakob Stoklund Olesen 2017-07-28 16:13:51 -07:00
  • 542bad0758 Evaluate instruction predicates during legalization. Jakob Stoklund Olesen 2017-07-28 15:21:10 -07:00
  • 1968ebad58 Evaluate instruction predicates during legalization. Jakob Stoklund Olesen 2017-07-28 15:21:10 -07:00
  • b1508d8588 Include bound typevars in the instruction predicate. Jakob Stoklund Olesen 2017-07-28 14:52:24 -07:00
  • e2bf4f8981 Include bound typevars in the instruction predicate. Jakob Stoklund Olesen 2017-07-28 14:52:24 -07:00
  • 939f188e27 Add an inst.all_typevars() method. Jakob Stoklund Olesen 2017-07-28 14:45:56 -07:00
  • 9df0b09301 Add an inst.all_typevars() method. Jakob Stoklund Olesen 2017-07-28 14:45:56 -07:00
  • 1f02d1f880 Allow for multiple legalization patterns for the same opcode. Jakob Stoklund Olesen 2017-07-28 11:06:09 -07:00
  • dd5bbc298e Allow for multiple legalization patterns for the same opcode. Jakob Stoklund Olesen 2017-07-28 11:06:09 -07:00
  • b5076108c1 Support constant integers in AST expressions. Jakob Stoklund Olesen 2017-07-28 08:57:32 -07:00
  • 222ccae4b2 Support constant integers in AST expressions. Jakob Stoklund Olesen 2017-07-28 08:57:32 -07:00
  • ede02e0f97 Cleanup, typechecking and documentation nits Dimo 2017-07-27 18:05:38 -07:00
  • a324d60ccc Cleanup, typechecking and documentation nits Dimo 2017-07-27 18:05:38 -07:00
  • 1bbe644080 Add semantics for several more iadd with carry; Add xform_correct() and doc cleanup Dimo 2017-07-27 17:16:26 -07:00
  • 9767654dd7 Add semantics for several more iadd with carry; Add xform_correct() and doc cleanup Dimo 2017-07-27 17:16:26 -07:00
  • b5e1e4d454 Add smtlib.py Dimo 2017-07-26 19:25:24 -07:00
  • c3092d680f Add smtlib.py Dimo 2017-07-26 19:25:24 -07:00
  • eadb4cd39a Fix broken test_elaborate tests after the moving of is_concrete/cleanup_concrete_rtl Dimo 2017-07-26 19:12:41 -07:00
  • 59e204cec2 Fix broken test_elaborate tests after the moving of is_concrete/cleanup_concrete_rtl Dimo 2017-07-26 19:12:41 -07:00
  • 42e0476cf4 Add primitive bvult, bvzeroext; Add semantics for bextend, icmp (partial - only for <) iadd_cout Dimo 2017-07-26 19:12:11 -07:00
  • e346bd50c8 Add primitive bvult, bvzeroext; Add semantics for bextend, icmp (partial - only for <) iadd_cout Dimo 2017-07-26 19:12:11 -07:00
  • 51ee47f01e Add Rtl.free_vars() Dimo 2017-07-26 19:10:39 -07:00
  • 3fd43fd006 Add Rtl.free_vars() Dimo 2017-07-26 19:10:39 -07:00
  • 1ddee38895 cleanup_semantics() should remove repeated prim_from_bv(x) Dimo 2017-07-26 19:10:14 -07:00
  • ec9e9bd1ca cleanup_semantics() should remove repeated prim_from_bv(x) Dimo 2017-07-26 19:10:14 -07:00
  • 11014ec544 Nit: Make elaborate return a new Rtl instead of modifying the existing rtl inplace Dimo 2017-07-26 16:49:12 -07:00
  • 93b57a5209 Nit: Make elaborate return a new Rtl instead of modifying the existing rtl inplace Dimo 2017-07-26 16:49:12 -07:00
  • ef4ca676a4 Move apply() -> Xform.apply(); is_concrete_rtl() -> Rtl.is_concrete(); cleanup_concrete_rtl() -> Rtl.cleanup_concrete_rtl(). Documnetation nits in semantics.elaborate Dimo 2017-07-26 16:30:31 -07:00
  • 80a42fdeaa Move apply() -> Xform.apply(); is_concrete_rtl() -> Rtl.is_concrete(); cleanup_concrete_rtl() -> Rtl.cleanup_concrete_rtl(). Documnetation nits in semantics.elaborate Dimo 2017-07-26 16:30:31 -07:00
  • 71f1646675 With multiple semantic transforms mentioning Enumerators, it may be possible for there not to be a substitution from the concrete rtl to some of the transforms. This is not an error - just a case where a given semantic transform doesnt apply. (e.g. icmp being described by different transforms with concrete intcc condition codes) Dimo 2017-07-26 15:28:52 -07:00
  • a92021ebce With multiple semantic transforms mentioning Enumerators, it may be possible for there not to be a substitution from the concrete rtl to some of the transforms. This is not an error - just a case where a given semantic transform doesnt apply. (e.g. icmp being described by different transforms with concrete intcc condition codes) Dimo 2017-07-26 15:28:52 -07:00
  • 5f77369053 Fix up a couple of test changed by unifying control tv first Dimo 2017-07-26 15:26:59 -07:00
  • a2b60108fd Fix up a couple of test changed by unifying control tv first Dimo 2017-07-26 15:26:59 -07:00
  • 100fbe94dd When doing ti on a polymorphic definition first unify the control variable, then the rest. Dimo 2017-07-26 14:47:57 -07:00
  • 7d1a9c7d81 When doing ti on a polymorphic definition first unify the control variable, then the rest. Dimo 2017-07-26 14:47:57 -07:00
  • d5ca31a6fd bextend/breduce need constraints Dimo 2017-07-26 14:41:59 -07:00
  • 2387745847 bextend/breduce need constraints Dimo 2017-07-26 14:41:59 -07:00
  • 2aca35a9aa Return a function pointer from TargetIsa::encode(). Jakob Stoklund Olesen 2017-07-27 14:46:56 -07:00
  • b04a2c30d2 Return a function pointer from TargetIsa::encode(). Jakob Stoklund Olesen 2017-07-27 14:46:56 -07:00
  • d1353bba05 Assign legalization codes early. Jakob Stoklund Olesen 2017-07-27 13:33:45 -07:00
  • 1bbc06e2d6 Assign legalization codes early. Jakob Stoklund Olesen 2017-07-27 13:33:45 -07:00
  • b547b78683 Bugfix: encode function wasn't calling legalize function properly Denis Merigoux 2017-07-27 16:30:48 -07:00
  • f6af7be205 Bugfix: encode function wasn't calling legalize function properly Denis Merigoux 2017-07-27 16:30:48 -07:00
  • 051aaed43e Add Intel encodings for more conversion instructions. Jakob Stoklund Olesen 2017-07-27 10:58:00 -07:00
  • ebf5c80959 Add Intel encodings for more conversion instructions. Jakob Stoklund Olesen 2017-07-27 10:58:00 -07:00
  • 4cffb7fe53 Add support for type variable wildcards in bound instructions. Jakob Stoklund Olesen 2017-07-26 14:55:26 -07:00
  • 06bab60fcc Add support for type variable wildcards in bound instructions. Jakob Stoklund Olesen 2017-07-26 14:55:26 -07:00
  • ef812408f4 Remove the number field from the PredNode union type. Jakob Stoklund Olesen 2017-07-26 11:01:47 -07:00
  • ac830e0446 Remove the number field from the PredNode union type. Jakob Stoklund Olesen 2017-07-26 11:01:47 -07:00
  • 98f0a8b8b4 Remove the name field from the PredNode union type. Jakob Stoklund Olesen 2017-07-26 10:14:26 -07:00
  • 84fffa79f6 Remove the name field from the PredNode union type. Jakob Stoklund Olesen 2017-07-26 10:14:26 -07:00
  • 9ff785fabc Add a predicate_key() method to all predicates. Jakob Stoklund Olesen 2017-07-26 09:30:29 -07:00
  • 136cfe00dd Add a predicate_key() method to all predicates. Jakob Stoklund Olesen 2017-07-26 09:30:29 -07:00
  • 84aeb3eb56 Generate type check predicates for secondary type variables. Jakob Stoklund Olesen 2017-07-26 08:12:16 -07:00
  • 6da734221a Generate type check predicates for secondary type variables. Jakob Stoklund Olesen 2017-07-26 08:12:16 -07:00
  • 637966dc7f Add support for legalization codes in the encoding tables. Jakob Stoklund Olesen 2017-07-25 16:33:35 -07:00
  • 9067fe7f99 Add support for legalization codes in the encoding tables. Jakob Stoklund Olesen 2017-07-25 16:33:35 -07:00
  • 5a2bb8ba32 Define I64 before I32 for better encoding table compression. Jakob Stoklund Olesen 2017-07-21 13:04:18 -07:00
  • 629bfe7ba9 Define I64 before I32 for better encoding table compression. Jakob Stoklund Olesen 2017-07-21 13:04:18 -07:00
  • 2ccb261e8d Use a more compact encoding list representation. Jakob Stoklund Olesen 2017-07-25 09:37:10 -07:00
  • 22d49c6510 Use a more compact encoding list representation. Jakob Stoklund Olesen 2017-07-25 09:37:10 -07:00
  • e41ddf2a0d Change TV ranking to select src vars as a representative during unification; Nit: cleanup dot() emitting code; Nit: fix small bug in verify_semantics() - make an internal copy of src rtl to avoid clobbering of typevars re-used in multiple definitions Dimo 2017-07-25 15:09:22 -07:00
  • 345d6754f5 Change TV ranking to select src vars as a representative during unification; Nit: cleanup dot() emitting code; Nit: fix small bug in verify_semantics() - make an internal copy of src rtl to avoid clobbering of typevars re-used in multiple definitions Dimo 2017-07-25 15:09:22 -07:00
  • 20d96a1ac4 Handle non-ssa Vars and Enumerator constants in Rtl substitutions Dimo 2017-07-24 15:15:51 -07:00
  • 7498d7a3f9 Handle non-ssa Vars and Enumerator constants in Rtl substitutions Dimo 2017-07-24 15:15:51 -07:00
  • 776af93ef2 Generate an INST_PREDICATES table for each ISA. Jakob Stoklund Olesen 2017-07-24 14:13:35 -07:00
  • f643e7e752 Generate an INST_PREDICATES table for each ISA. Jakob Stoklund Olesen 2017-07-24 14:13:35 -07:00
  • f39d75fa58 Generate a RECIPE_PREDICATES table for each ISA. Jakob Stoklund Olesen 2017-07-21 15:33:35 -07:00
  • a31dd3aa7a Generate a RECIPE_PREDICATES table for each ISA. Jakob Stoklund Olesen 2017-07-21 15:33:35 -07:00
  • b448574a49 Assert all InstructionGroups are closed in TargetIsa.__init__(); Close x86 group Dimo 2017-07-24 13:41:04 -07:00
  • 351d4af4eb Assert all InstructionGroups are closed in TargetIsa.__init__(); Close x86 group Dimo 2017-07-24 13:41:04 -07:00
  • 7caaf7fea1 Fix CI: Var was only imported when mypy was present. Dimo 2017-07-24 10:58:57 -07:00
  • 736b6a44a7 Fix CI: Var was only imported when mypy was present. Dimo 2017-07-24 10:58:57 -07:00
  • dfb5a524b9 TI failure due to misplaced import Dimo 2017-07-21 16:56:15 -07:00
  • 12db123606 TI failure due to misplaced import Dimo 2017-07-21 16:56:15 -07:00