Commit Graph

  • d4438f4006 Drop an unneeded dependency. Dan Gohman 2017-10-03 12:48:33 -07:00
  • 6c4bbc643c Set the faerie target based on the cretonne target. Dan Gohman 2017-10-03 12:39:52 -07:00
  • a68b2619bd Sniff the wasm magic bytes, rather than relying on the filename extension. Dan Gohman 2017-10-03 12:23:59 -07:00
  • e5ed1517ce Fix the command name in the usage message. Dan Gohman 2017-10-03 12:21:09 -07:00
  • 324a395a95 Make the "wat2wasm" error message not panic. Dan Gohman 2017-10-03 12:20:37 -07:00
  • cad7e50106 Update to wasmparser 0.11.2. Dan Gohman 2017-10-03 12:18:18 -07:00
  • c091a695e6 Fix coalescer bug exposed by the gvn-unremovable-phi test. Jakob Stoklund Olesen 2017-10-02 15:38:05 -07:00
  • ef048b8899 Allow for call args in incoming stack slots. Jakob Stoklund Olesen 2017-10-02 15:56:38 -07:00
  • 374ed3a07b Fix dominator-tree queries on unreachable nodes. Dan Gohman 2017-10-03 11:03:06 -07:00
  • d585f09423 Don't silently swallow lexer errors. Dan Gohman 2017-10-03 10:05:46 -07:00
  • d857aacec3 Sniff the wasm magic bytes, rather than relying on the filename extension. Dan Gohman 2017-10-03 09:19:55 -07:00
  • ba14499fe9 Factor out the code for reading a file into a utility function. Dan Gohman 2017-10-03 09:09:48 -07:00
  • f064418652 Refactor set/isa parsing into a utility function. Dan Gohman 2017-10-03 09:05:23 -07:00
  • 12ab4cd914 Add a cton-util compile command. Dan Gohman 2017-10-03 06:46:38 -07:00
  • 7c7b1651d8 Do a full compile in 'cton-util wasm'. Dan Gohman 2017-10-02 16:57:14 -07:00
  • 25b8b45a41 Avoid unnecessary BufReaders. Dan Gohman 2017-10-03 09:34:41 -07:00
  • eba55cb1da Make the "wat2wasm" error message not panic. Dan Gohman 2017-10-03 09:31:42 -07:00
  • 1efa670f60 Do a full compile in 'cton-util wasm'. Dan Gohman 2017-10-02 16:57:14 -07:00
  • 5b0a083124 Avoid unnecessary BufReaders. Dan Gohman 2017-10-03 06:51:49 -07:00
  • 3a34c35f95 Don't swap the arguments to the select instruction. Jakob Stoklund Olesen 2017-10-02 14:43:30 -07:00
  • 5f56f81251 Resolve all value aliases when computing live ranges. Jakob Stoklund Olesen 2017-09-29 15:54:06 -07:00
  • c82e68efea Eliminate the ABCD register class constaint in REX encodings. Jakob Stoklund Olesen 2017-09-29 15:29:25 -07:00
  • 51a6901a7f Implement coloring::iterate_solution(). Jakob Stoklund Olesen 2017-09-29 14:38:30 -07:00
  • 86e22e7de5 Add long-range encodings for conditional branches. Jakob Stoklund Olesen 2017-09-29 13:18:29 -07:00
  • 50ccd000a9 Implement branch relaxation. Jakob Stoklund Olesen 2017-09-29 12:41:37 -07:00
  • 45888ab84e Reload for spilled call return values. Jakob Stoklund Olesen 2017-09-29 11:09:21 -07:00
  • 711e5cd644 Handle srem INT_MIN, -1 correctly. Jakob Stoklund Olesen 2017-09-29 08:53:49 -07:00
  • 53404a9387 Check for invalid special type constraints. Jakob Stoklund Olesen 2017-09-28 16:22:04 -07:00
  • 2888ff5bf3 Fix a corner case in fcvt_to_sint.i32.f64 legalization. Jakob Stoklund Olesen 2017-09-28 14:24:39 -07:00
  • 8abcdac5a1 Legalize fcvt_to_sint and fcvt_to_uint for Intel64. Jakob Stoklund Olesen 2017-09-28 10:54:56 -07:00
  • 34146435e5 Legalize unsigned-to-float conversions for Intel 64. Jakob Stoklund Olesen 2017-09-28 09:05:39 -07:00
  • 979a22f548 Add pow2() and neg() methods for the IEEE immediate types. Jakob Stoklund Olesen 2017-09-28 11:26:37 -07:00
  • a274cdf275 Fix the Intel encoding of band_not. Jakob Stoklund Olesen 2017-09-27 18:14:13 -07:00
  • 1d481d7897 Use the ThreadId to name cretonne.dbg in unnamed threads. Jakob Stoklund Olesen 2017-09-27 16:27:49 -07:00
  • de9b1d1004 Enable debug assertions for cretonne-tools. Jakob Stoklund Olesen 2017-09-27 11:20:45 -07:00
  • 84471a8431 Add some very basic support for the Intel32 ABI. Jakob Stoklund Olesen 2017-09-27 11:59:50 -07:00
  • b6b474a8c9 Add Intel legalization for fmin and fmax. Jakob Stoklund Olesen 2017-09-27 11:02:57 -07:00
  • 384b04b411 Fix some misnamed TailRecipes and add a consistency check. Jakob Stoklund Olesen 2017-09-27 12:48:48 -07:00
  • 44eab3e158 Add Intel regmove encodings for floating point types. Jakob Stoklund Olesen 2017-09-27 12:36:27 -07:00
  • 1fe7890700 Add x86_fmin and x86_fmax instructions. Jakob Stoklund Olesen 2017-09-27 09:17:09 -07:00
  • ac69f3bfdf Add an Intel-specific x86_cvtt2si instruction. Jakob Stoklund Olesen 2017-09-26 15:35:32 -07:00
  • d13f29cfe4 Update to wasmparser 0.11.2. Dan Gohman 2017-09-26 14:56:33 -07:00
  • 6ff681a90d Add general legalization for the select instruction. Jakob Stoklund Olesen 2017-09-26 13:38:06 -07:00
  • ce767be703 Intel encodings for floating point copies. Jakob Stoklund Olesen 2017-09-26 13:54:19 -07:00
  • 7fb6159a85 Add Intel encodings for the fcmp instruction. Jakob Stoklund Olesen 2017-09-26 09:54:54 -07:00
  • 79968a2325 Add standard expansions for fcopysign. Jakob Stoklund Olesen 2017-09-25 15:17:32 -07:00
  • 6bec5f8507 Intel encodings for nearest/floor/ceil/trunc. Jakob Stoklund Olesen 2017-09-25 14:57:01 -07:00
  • ac343ba92a Add encodings for square root instructions. Jakob Stoklund Olesen 2017-09-25 13:14:55 -07:00
  • 36585ddc4f Wasm control stack entries only need the number of return types. Dan Gohman 2017-09-25 12:48:31 -07:00
  • 55e48ce7aa Simplify translate_type's return type. Dan Gohman 2017-09-25 12:11:56 -07:00
  • 14d6d1117d Clean up unneeded '&'s. Dan Gohman 2017-09-21 14:50:28 -07:00
  • 8deca67968 Add legalization patterns for fabs and fneg. Jakob Stoklund Olesen 2017-09-25 12:12:47 -07:00
  • ba1c50d6c1 Test WebAssembly floating point constants. Jakob Stoklund Olesen 2017-09-25 11:06:18 -07:00
  • fdb97da21b Implement a poor man's jump table. Jakob Stoklund Olesen 2017-09-25 10:56:14 -07:00
  • e64eb79aaf Fix dependency paths. wasmstandalone no longer depends on out-of-tree patches. Dan Gohman 2017-09-23 15:37:48 -07:00
  • 666d565fd4 Clean up unused imports. Dan Gohman 2017-09-23 15:14:25 -07:00
  • 0c78a2f298 Import the wasm2obj experiment and minimally update it. Dan Gohman 2017-09-23 14:55:22 -07:00
  • 06f0b00c2d Add an assert on an implemented feature rather than letting it silently fail. Dan Gohman 2017-09-22 16:26:43 -07:00
  • 64d596005c Reduce the extent of unsafe code. Dan Gohman 2017-09-22 16:21:25 -07:00
  • ecd746718b Remove comments about manually saving callee-saved registers. Dan Gohman 2017-09-22 16:17:08 -07:00
  • 4c5f584d01 Use debug_assert_eq! where applicable. Dan Gohman 2017-09-22 16:12:27 -07:00
  • b583d75c7a Fix redundant borrows. Dan Gohman 2017-09-22 16:11:11 -07:00
  • 382415ed0c Fix a useless format!. Dan Gohman 2017-09-22 16:09:10 -07:00
  • 29dfcf5dfb Add spill/fill encodings for Intel ISAs. Jakob Stoklund Olesen 2017-09-22 15:35:11 -07:00
  • b89277d9ce Rename "wast" to "wat". Dan Gohman 2017-09-22 15:53:26 -07:00
  • cdffc1b50a Roughly update for the recent Cretonne API changes. Dan Gohman 2017-09-22 13:41:12 -07:00
  • 76eb7df9f0 Add an isa::StackRef type. Jakob Stoklund Olesen 2017-09-22 11:16:07 -07:00
  • 2946cc54d3 Add more trap codes. Jakob Stoklund Olesen 2017-09-22 08:51:55 -07:00
  • 7fbf1cb810 Revert accidental change Angus Holder 2017-09-22 15:44:15 +01:00
  • b003605132 Adapt intel to be able to correctly choose compressed instruction encodings: create a register class to identify the lower 8 registers, omit unnecessary REX prefixes, and fix the tests Angus Holder 2017-09-22 00:49:21 +01:00
  • 3b66c0be40 Emit compressed instruction encodings for instructions where constraints allow Angus Holder 2017-09-22 00:40:43 +01:00
  • 2d4c860187 Convert legalizer::split and generated legalization code to FuncCursor. Jakob Stoklund Olesen 2017-09-21 17:05:51 -07:00
  • a9acbd1afd Convert the legalizer/boundary module to FuncCursor. Jakob Stoklund Olesen 2017-09-21 16:43:47 -07:00
  • 85e4e9f511 Assign source locations when translating WebAssembly to Cretonne. Jakob Stoklund Olesen 2017-09-21 08:12:53 -07:00
  • 4d4da2dc60 Add source location support to FuncCursor and EncCursor. Jakob Stoklund Olesen 2017-09-21 10:38:11 -07:00
  • b2a314a229 Add per-instruction source locations to the Cretonne IR. Jakob Stoklund Olesen 2017-09-20 16:42:30 -07:00
  • 16eb689dd1 Use Self instead of repeating the type name. Dan Gohman 2017-09-21 13:28:40 -07:00
  • e5e4b59683 Tidy up some asserts. Dan Gohman 2017-09-21 09:39:31 -07:00
  • e75558b800 Fix spelling of "adjustment". Dan Gohman 2017-09-21 09:31:50 -07:00
  • dda8293668 Restructure code to avoid a heap allocation. Dan Gohman 2017-09-21 09:30:33 -07:00
  • ff18772d0e Avoid a heap allocation. Dan Gohman 2017-09-21 09:24:18 -07:00
  • 22b769b716 Convert use_var and predecessors_lookup into a state machine to avoid recursion. Dan Gohman 2017-09-20 21:35:34 -07:00
  • 9cda4eacde Minor refactor. Dan Gohman 2017-09-20 17:32:12 -07:00
  • df5ba8bbba Correct a comment. Dan Gohman 2017-09-20 22:48:55 -07:00
  • f524977920 Factor some logic out of seal_ebb_header_block into parts. Dan Gohman 2017-09-20 17:09:54 -07:00
  • 218959ff65 Convert more tests to FuncCursor. Jakob Stoklund Olesen 2017-09-21 13:29:45 -07:00
  • 8e93aa7ce7 Remove layout::Cursor from the legalizer::split API. Jakob Stoklund Olesen 2017-09-21 13:06:28 -07:00
  • 1cd91b6f30 Eliminate layout::Cursor from cton_frontend. Jakob Stoklund Olesen 2017-09-21 12:16:32 -07:00
  • 03dee5e442 Replace some uses of layout::Cursor with FuncCursor. Jakob Stoklund Olesen 2017-09-21 11:21:23 -07:00
  • ed6630dc02 Move verify calls back into Context, using FlagsOrIsa. Dan Gohman 2017-09-20 16:37:55 -07:00
  • f80ee7af39 Add a "host" crate for autodetecting the host. (#159) Dan Gohman 2017-09-20 16:14:26 -07:00
  • 8def91b4ad Remove the unused Nullary instruction format. Jakob Stoklund Olesen 2017-09-20 15:59:13 -07:00
  • e8723be33f Add trap codes to the Cretonne IL. Jakob Stoklund Olesen 2017-09-20 13:58:57 -07:00
  • 0f21fd342a Remove the HeapLoad/HeapStore instruction formats. Jakob Stoklund Olesen 2017-09-20 14:21:41 -07:00
  • d3f3fdf5af Remove a redundant .gitignore file. Dan Gohman 2017-09-20 15:35:26 -07:00
  • ce94a3fa39 Use ScopedHashMap in simple_gvn. Dan Gohman 2017-09-19 21:05:53 -07:00
  • 6710216e96 Add next_inst and prev_inst helper functions to Layout. Dan Gohman 2017-09-20 12:38:13 -07:00
  • 42af6d59bf Add a ScopedHashMap class, for use in a future GVN implementation. Dan Gohman 2017-09-19 13:25:16 -07:00
  • 74845fed6c Use more helper functions on CursorBase to reduce cursor repositioning. Dan Gohman 2017-09-20 11:19:35 -07:00
  • 482439c94b Minor code cleanups in simple_gvn's main loop. Dan Gohman 2017-09-20 09:55:01 -07:00