Commit Graph

  • df210bfdea Fix the Intel x64 PIC 'call' test, adding correct addend. Tyler McMullen 2018-01-18 13:40:08 -08:00
  • 850896f05e The addend for a PLTRel4 reloc should be -4. Tyler McMullen 2018-01-18 13:36:15 -08:00
  • 1e49431804 Add test case from #216. Jakob Stoklund Olesen 2018-01-17 16:18:07 -08:00
  • dcad3fa339 Fix coloring bug with combined constraints and global values. Jakob Stoklund Olesen 2018-01-17 15:17:34 -08:00
  • 0a6500c99a Avoid making solver variables for fixed input constraints. Jakob Stoklund Olesen 2018-01-17 14:58:05 -08:00
  • 13af22b46b Track register pressure for dead EBB parameters. Jakob Stoklund Olesen 2018-01-17 12:39:10 -08:00
  • 5463fde203 Don't print unused pressure classes. Jakob Stoklund Olesen 2018-01-17 09:52:31 -08:00
  • 457e161974 Add comments explaining why the rustfmt version is still at 0.9.0. Dan Gohman 2018-01-17 11:24:45 -08:00
  • eb85aa833c Illegalize rbp/r13 for zero-offset loads on Intel x64 (#225) Tyler McMullen 2018-01-16 21:05:53 -07:00
  • 1e2b7de141 Remove dead code. Jakob Stoklund Olesen 2018-01-16 12:34:32 -08:00
  • d1f236b00a Reimplement coalescer following the Budimlic paper. Jakob Stoklund Olesen 2018-01-09 10:33:02 -08:00
  • 16ac4f65b3 Add support for textbook union-find to VirtRegs. Jakob Stoklund Olesen 2018-01-08 13:29:53 -08:00
  • ce4cc8ce12 Fix the handling of special types in type variables. Jakob Stoklund Olesen 2018-01-16 10:26:13 -08:00
  • 85aab278dd Add RISC-V encodings for b1 copy/spill/fill. Jakob Stoklund Olesen 2018-01-12 11:11:49 -08:00
  • 567e570c02 Allow to print translated wasm file. Yury Delendik 2018-01-12 14:56:24 -06:00
  • cacba1a58f Don't allow EBB parameters to be ghost values. Jakob Stoklund Olesen 2018-01-11 16:35:19 -08:00
  • 5e094034d4 Fix verifier bug in unreachable code. Jakob Stoklund Olesen 2018-01-09 10:45:47 -08:00
  • af89006b09 Fix some markdown issues. Jakob Stoklund Olesen 2018-01-08 16:18:10 -08:00
  • 4afa19ddff Fix some mypy errors. Jakob Stoklund Olesen 2018-01-03 12:13:13 -08:00
  • 4f53cc1dad Align IntelGOTPCRel4 with R_X86_64_GOTPCREL. Dan Gohman 2017-12-14 07:13:17 -06:00
  • 76e31cc1ad Rename GotPCRel4 to GOTPCRel4. Dan Gohman 2017-12-14 06:43:55 -06:00
  • fc857247e4 Fix overlaps_def for dead live ranges. Jakob Stoklund Olesen 2017-12-14 17:16:19 -06:00
  • 66073eb26c Better verifier error for coinciding defs. Jakob Stoklund Olesen 2017-12-14 17:04:16 -06:00
  • febe8e0e51 Allow spilling of EBB arguments. Jakob Stoklund Olesen 2017-12-14 10:57:10 -06:00
  • d617d5e0f3 Use a domtree pre-order instead of a CFG RPO for coalescing. Jakob Stoklund Olesen 2017-12-13 09:22:44 -06:00
  • 2473661d49 Loosen the required order of values in a virtual register. Jakob Stoklund Olesen 2017-12-12 16:16:01 -06:00
  • a825427786 Avoid reloading spilled EBB arguments. Jakob Stoklund Olesen 2017-12-13 15:13:37 -06:00
  • d444044e9e intel isa: comments to explain rip-relative addressing encoding Pat Hickey 2017-12-12 15:13:11 -08:00
  • ed81bc21be filetests: add filetests for intel PIC encodings Pat Hickey 2017-12-12 13:54:59 -08:00
  • 6d44debc18 intel: add PIC variants to recipes and encodings Pat Hickey 2017-12-12 13:54:11 -08:00
  • 5834520bfe binemit: add PIC relocation types for Intel Pat Hickey 2017-12-12 13:52:46 -08:00
  • 90bc798e4f settings: add "is_pic" boolean setting to base Pat Hickey 2017-12-12 13:52:01 -08:00
  • 88b30ff386 refactor Reloc to an enum of every architecture's reloc types Pat Hickey 2017-12-12 11:57:25 -08:00
  • a888b2a6f1 Dominator tree pre-order. Jakob Stoklund Olesen 2017-12-08 14:56:16 -08:00
  • 7d5f2f0404 Convert the CFG traversal tests to file tests. Jakob Stoklund Olesen 2017-12-08 13:54:19 -08:00
  • a7eb13a151 Expand unknown instructions to runtime library calls. Jakob Stoklund Olesen 2017-12-08 10:10:26 -08:00
  • f03729d742 Fix generated code for ISA predicates on encoding recipes. Jakob Stoklund Olesen 2017-12-08 10:22:01 -08:00
  • 362a4bdc4c Add well-known names for runtime library functions. Jakob Stoklund Olesen 2017-12-07 17:50:22 -08:00
  • 60c456c1ec Add a compilation pass timing facility. Jakob Stoklund Olesen 2017-12-06 10:56:17 -08:00
  • feaea238bc Use bforest::Map for representing live ranges. Jakob Stoklund Olesen 2017-12-04 13:43:10 -08:00
  • 27d5543adc Make LiveRange a type alias for GenLiveRange<Layout>. Jakob Stoklund Olesen 2017-12-04 12:57:04 -08:00
  • f106e4266a Enable the IL verifier by default. Jakob Stoklund Olesen 2017-12-06 08:30:48 -08:00
  • c09ad06f96 Stop generating reserved_reg heaps in DummyEnvironment. Jakob Stoklund Olesen 2017-12-05 16:31:10 -08:00
  • b8fe6bf0f5 Add a MapCursor::value_mut() method. Jakob Stoklund Olesen 2017-12-05 10:01:35 -08:00
  • c64428b698 Add a Map::get_or_less() method. Jakob Stoklund Olesen 2017-12-04 14:03:54 -08:00
  • 7988d0c54c Add 8-bit variation of adjust_sp_imm for 32-bit and 64-bit Intel. Tyler McMullen 2017-12-05 10:56:22 -08:00
  • 3b937f5917 Add separate spiderwasm prologue/epilogue to intel's abi.rs Tyler McMullen 2017-12-05 10:55:24 -08:00
  • 5783ea2c9a Account for return address when reserving stack space for CSRs. Tyler McMullen 2017-12-04 17:19:27 -08:00
  • a75248d2cf Move the initial stack pointer adjustment to after the CSR pushes. Tyler McMullen 2017-12-04 16:03:04 -08:00
  • ebcbd54f61 Add 'compile' test and confirm the pro/epilogue is added. Fix regression this revealed. Tyler McMullen 2017-12-04 11:15:26 -08:00
  • 694658b949 Move entirety of prologue_epilogue logic to abi module. Tyler McMullen 2017-12-04 00:01:53 -08:00
  • 0fb59dc589 Fix the ordering of return values. Tyler McMullen 2017-12-03 23:40:26 -08:00
  • c156eb9ff7 Refactor prologue_epilogue. Break out into functions. Remove Vecs. Tyler McMullen 2017-12-03 23:25:32 -08:00
  • c78a191294 Use layout.last_inst to find 'return' opcodes, rather than iterating. Tyler McMullen 2017-12-02 17:20:42 -08:00
  • 66eccb7859 Use opcode's is_return() rather than pattern-matching. Tyler McMullen 2017-12-02 15:45:47 -08:00
  • a26d438b30 Use returned Value from append_ebb_param in prologue_epilogue. Tyler McMullen 2017-12-02 15:43:41 -08:00
  • ced39f5186 Fix up adjust_sp_imm instruction. Tyler McMullen 2017-12-02 15:37:04 -08:00
  • 1a11c351b5 Add tests and documentation for x86_(push|pop). Fix up encoding issues revealed by tests. Tyler McMullen 2017-12-01 19:15:31 -08:00
  • 3b1b33e0ac Add docs and tests for copy_special instruction. Fixes encoding issue that tests revealed. Tyler McMullen 2017-12-01 18:01:00 -08:00
  • 4eb9a54096 Convert x86_(push|pop) operations to be explicitly limited to 32-bit and 64-bit values. Tyler McMullen 2017-12-01 16:55:26 -08:00
  • 2f3edc1bc6 Fix issue in which CSR returns were incorrectly ordered. Tyler McMullen 2017-11-30 22:44:38 -08:00
  • 6ec4bfc4ca Fix up the encodings for new instructions, both expected and actual. Make the test more accurate. Tyler McMullen 2017-11-30 22:34:13 -08:00
  • daa7a21d05 Adjust prologue/epilogue generation to work with 32-bit Intel arch. Tyler McMullen 2017-11-30 18:50:56 -08:00
  • e6481bb4eb Add 32-bit encodings for x86_push, x86_pop, copy_special, and adjust_sp_imm. Tyler McMullen 2017-11-30 18:44:00 -08:00
  • c92d49963a Simplify x86_(push|pop) encodings. Tyler McMullen 2017-11-29 21:06:55 -08:00
  • cf9d287bea Pop the callee-saved registers in the function epilogue(s). Tyler McMullen 2017-11-29 17:43:06 -08:00
  • f31a764fc8 Save all callee-saved registers in prologue. Tyler McMullen 2017-11-29 16:34:21 -08:00
  • b049916d35 Move %rsp to %rbp, not the reverse. Tyler McMullen 2017-11-29 03:16:37 -08:00
  • e0c8ab49e1 Only emit an adjust_sp_imm if the stack_size is non-zero. Tyler McMullen 2017-11-29 02:32:20 -08:00
  • d12587f218 Assign explicit register location to result of frame-pointer pop. Tyler McMullen 2017-11-29 02:28:18 -08:00
  • 544c148b25 Fix the stack slots, so the locations of local var slots are correct. Tyler McMullen 2017-11-28 20:09:27 -08:00
  • c1a64a5dc7 Insert a basic epilogue. Tyler McMullen 2017-11-28 19:51:19 -08:00
  • 60b6bc3ab7 Sketch of prologue generation Tyler McMullen 2017-11-28 17:25:39 -08:00
  • fdfe24760a Add missing newline to prologue epilogue test Tyler McMullen 2017-11-27 23:35:55 -08:00
  • d4311d2b1d Add prologue-epilogue test that exercises new instructions and binary emission. Tyler McMullen 2017-11-27 15:38:38 -08:00
  • ffab87318e Add adjust_sp_imm instruction. Note: This enables using rsp and rbp as normal registers. Which is... wrong. Tyler McMullen 2017-11-27 15:32:28 -08:00
  • 32509ebacd Fix push/pop encoding for extended registers. Add copy_special encoding. Tyler McMullen 2017-11-27 13:30:11 -08:00
  • b8275f5713 Add (some) encodings for x86_push/pop instructions. Simple uses actually pass the legalizer now. Tyler McMullen 2017-11-22 19:18:51 -08:00
  • cdf70ccb77 Add copy_special instruction. Tyler McMullen 2017-11-22 19:18:11 -08:00
  • 8ed37e352e Add x86_push and x86_pop instructions. Tyler McMullen 2017-11-22 12:25:01 -08:00
  • ebf2c3a17e Add a note to the README about present usability. Dan Gohman 2017-12-05 09:10:07 -08:00
  • 04f6ccabe5 Allow filecheck directives with "test compile". Jakob Stoklund Olesen 2017-12-04 09:18:30 -08:00
  • 919de82e9c rename wasm testsuite to wasm_testsuite Pat Hickey 2017-11-27 16:36:40 -08:00
  • 8e0110b076 add wat2wasm note to readme Pat Hickey 2017-11-27 16:08:13 -08:00
  • 0676e8cbd7 install wasm-toolchain build 26619 from deb Pat Hickey 2017-11-27 16:05:28 -08:00
  • 27f0b29188 Replace hex with "0x%x" % ... to fix a trailing 'L' on 32-bit python2 Dan Gohman 2017-12-01 06:32:38 -08:00
  • cced2c8b0c Fix wat syntax so wasm tests pass (#199) Pat Hickey 2017-11-27 12:46:53 -08:00
  • b5601d57c8 filetests: change hex function names to user function numbers Pat Hickey 2017-11-22 17:52:05 -08:00
  • 9108725b74 extname: extend testcases to 16 chars Pat Hickey 2017-11-22 17:51:42 -08:00
  • eb49d9f8bf tests: update ExternalName api Pat Hickey 2017-11-22 17:37:08 -08:00
  • 803b83c87a wasm: change to new externalname api Pat Hickey 2017-11-22 17:18:54 -08:00
  • 1216f81b90 parser: replace binary function name test case with user names Pat Hickey 2017-11-22 16:52:08 -08:00
  • 2dfc78dbcd reader: lex UserRefs and parse ExternalName::Users Pat Hickey 2017-11-22 16:15:31 -08:00
  • 894268233e ir::ExternalName representation and constructors rewritten Pat Hickey 2017-11-22 14:40:54 -08:00
  • 95bdf91e3e Use a bforest::Map for the predecessors in the CFG. Jakob Stoklund Olesen 2017-11-22 13:52:42 -08:00
  • a960730add Add retain() methods to bforest::{Set,Map}. Jakob Stoklund Olesen 2017-11-22 13:43:41 -08:00
  • c810b21488 Be more forgiving about what's a "slow" test. Jakob Stoklund Olesen 2017-11-22 11:48:47 -08:00
  • 8e2ce6ded2 Revert "Enable pager in cton-util." Jakob Stoklund Olesen 2017-11-22 11:35:03 -08:00
  • 92f378de76 Expose CFG predecessors only as an iterator. Jakob Stoklund Olesen 2017-11-22 09:13:04 -08:00
  • 7956084121 Treat VmContext as positional when using Native CallConv (#195) Tyler McMullen 2017-11-21 17:08:31 -08:00