Commit graph

  • 78e209820f Update all.h master v1.0.0 sam 2024-10-29 22:56:53 +13:00
  • c403479279 Merge branch 'merge' sam 2024-10-29 22:50:30 +13:00
  • a5741ed125 add extra functions and clean up makefile and readme sam 2024-10-29 22:41:07 +13:00
  • 90050202f5 fix various codegen bugs on arm64 Quentin Carbonneaux 2024-10-01 19:38:15 +02:00
  • 626f0b2781 skip preludes for some leaf fns Quentin Carbonneaux 2024-08-20 15:20:42 +02:00
  • bb8de8c633 arm64/isel: Avoid signed overflow when handling immediates Alexey Yerin 2024-08-02 14:39:07 +03:00
  • efcb5465e5 align emitted code Quentin Carbonneaux 2024-08-15 23:11:20 +02:00
  • d2f4528797 switch to tmpfile so it works on musl sam 2024-07-24 21:01:29 +12:00
  • e154997862 fix dep on config.h sam 2024-07-24 20:41:38 +12:00
  • 8a91f9a249 turn qbe into an embeddable library sam 2024-07-24 20:30:53 +12:00
  • e8fa27bcdb drop imul rewriting Quentin Carbonneaux 2024-06-19 12:39:21 +02:00
  • 7de34d3454 no mul->shl as it confuses address matching Quentin Carbonneaux 2024-06-19 10:50:54 +02:00
  • 6dab93b4b2 cheaper mul by small constants on amd64 Quentin Carbonneaux 2024-06-18 17:00:30 +02:00
  • 96f18be71d simplify 8*x as well as x*8 Quentin Carbonneaux 2024-06-18 16:59:42 +02:00
  • 0631bc4fec prevent bogus simplifications Quentin Carbonneaux 2024-06-17 13:18:05 +02:00
  • e7ebdc8fb6 qbe has its own magic Quentin Carbonneaux 2024-06-17 13:17:39 +02:00
  • b5be429091 fix unintended assignment Quentin Carbonneaux 2024-06-16 22:31:38 +02:00
  • ddf5ced4a7 revert 4bc4c958 Quentin Carbonneaux 2024-06-16 22:26:51 +02:00
  • 7a19de5cf4 Simplify int mul/udiv/urem of 2^N into shl/shr/and. Roland Paterson-Jones 2024-06-13 20:58:52 +02:00
  • cf9f95f521 Optab-driven copy detection Roland Paterson-Jones 2024-05-23 20:21:56 +02:00
  • 2c2051542b relax one assert Quentin Carbonneaux 2024-06-05 12:50:36 +02:00
  • c8220b638b replace asm keyword Erica Z 2024-05-12 10:55:05 +02:00
  • 620277c004 add width info for comparisons Quentin Carbonneaux 2024-05-03 21:48:02 +02:00
  • 1dd22a9b47 function params must be unique Quentin Carbonneaux 2024-04-27 10:50:13 +02:00
  • b24af7d3f7 revert 1b7770e271 Quentin Carbonneaux 2024-04-22 13:58:29 +02:00
  • 99169df2ff parse: use dynamically sized hashtable for temporaries Michael Forney 2024-04-13 03:28:04 -07:00
  • fc98435f81 add "make wc" Quentin Carbonneaux 2024-04-12 11:49:00 +02:00
  • 875c1abf93 drop unnecessary check Quentin Carbonneaux 2024-04-12 11:37:35 +02:00
  • 8ded7a56a2 add common linkage for data Quentin Carbonneaux 2024-04-12 11:32:36 +02:00
  • 4a809d69b5 fold scaled offsets in addresses Quentin Carbonneaux 2024-04-11 10:28:41 +02:00
  • 8e8f706436 drop over-zealous offset accumulation Quentin Carbonneaux 2024-04-11 10:22:28 +02:00
  • 2d046a0ac6 use mgen in amd64/isel.c Quentin Carbonneaux 2024-04-08 15:30:07 +02:00
  • a609527752 mgen: match automatons and C generation Quentin Carbonneaux 2023-05-12 16:44:04 +02:00
  • 56e2263ca4 fuse ac rules in ins-tree matching Quentin Carbonneaux 2022-02-11 08:42:28 +01:00
  • 8a5e1c3a23 does not look too good Quentin Carbonneaux 2018-01-06 21:34:43 +01:00
  • a374da3c2e modulo ac matching and more tests Quentin Carbonneaux 2017-12-14 22:35:30 +01:00
  • 24d1324424 wip ins-tree matcher Quentin Carbonneaux 2017-12-12 22:49:13 +01:00
  • a2ad38086c mcf's improved rsval() Quentin Carbonneaux 2024-04-07 22:09:32 +02:00
  • dc3f7d7c4a fix accidentally noop loop Quentin Carbonneaux 2024-04-04 21:56:50 +02:00
  • de5ced474d do not parse +N constants Quentin Carbonneaux 2024-04-03 23:18:33 +02:00
  • c8fc20b8ef Eliminate fully overlapping blits after coalescing stack slots Richard McCormack 2024-03-30 09:59:39 -04:00
  • 85827e2232 check that data alignment is in range and a power of two Michael Forney 2024-03-26 11:04:42 -07:00
  • 1b7770e271 Drop quotes around floating point constant labels Michael Forney 2024-03-20 23:29:33 -07:00
  • be5d46fe7d test/fpcnv: skip of inexactly converted integers Nguyễn Gia Phong 2024-02-29 23:44:07 +09:00
  • b582e84e10 remove duplicated function declarations Nguyễn Gia Phong 2024-02-26 18:01:19 +09:00
  • 9ee57a637a update copyright years Quentin Carbonneaux 2024-03-07 16:45:22 +01:00
  • 190fd3fb09 declare check-rv64 as a phony make target Nguyễn Gia Phong 2024-02-26 17:56:02 +09:00
  • bd7a73d0ea fix bug in alias analysis Quentin Carbonneaux 2024-03-07 16:40:51 +01:00
  • 2d683e0c53 Print total number of tests run to get a better view of how much is broken. Tobias Heider 2024-01-23 19:08:44 +01:00
  • 1f69842fb8 fix link in doc Quentin Carbonneaux 2024-01-03 12:12:41 +01:00
  • 85287081c4 dbgloc: add column argument Drew DeVault 2024-01-02 11:09:18 +01:00
  • 24d68e841f Add missing documentation for union types and VAL. Chenguang Wang 2023-12-30 10:43:10 -08:00
  • 4bc4c9584a revert 5af33410 Quentin Carbonneaux 2024-01-02 11:16:08 +01:00
  • 5af33410f6 Fix IBT/BTI by instrumenting function calls Tobias Heider 2023-12-03 17:32:20 +01:00
  • 00501eeb6e hard-code $(CC) to equal "cc" Lorenz (xha) 2023-12-06 12:39:26 +01:00
  • d023bdaa6b Fix architecture detection on OpenBSD/arm64 Josiah Frentsos 2023-09-15 13:18:26 -04:00
  • c5aca682a2 comments in amd64 isel Quentin Carbonneaux 2023-08-28 22:45:41 +02:00
  • d6c9669c3c Fix conversion from float/double to unsigned int Michael Forney 2023-08-25 15:04:47 -07:00
  • d41d91ddd8 test.sh fixes for devuan linux Quentin Carbonneaux 2023-08-18 15:22:27 +02:00
  • 36946a5142 file,loc become dbgfile,dbgloc Quentin Carbonneaux 2023-08-18 15:12:56 +02:00
  • baf11b7175 parseline() tweaks Quentin Carbonneaux 2023-06-07 10:11:58 +02:00
  • 0d929287d7 implement line number info tracking Thomas Bracht Laumann Jespersen 2023-01-26 12:09:44 +01:00
  • e493a7f233 Bump NString Alexey Yerin 2023-05-28 12:01:32 +03:00
  • 50452b88e9 fix sub-word returns on arm64_apple Quentin Carbonneaux 2023-05-09 12:39:51 +02:00
  • 96f16f958a Fix 1 C UB Locria Cyber 2023-04-03 13:21:36 +00:00
  • a3dfbb9c04 amd64_apple: one more thread-local symbols fix Quentin Carbonneaux 2023-04-02 19:20:13 +02:00
  • eda2db5737 tests for thread-local addresses Quentin Carbonneaux 2023-04-02 16:58:48 +02:00
  • 1ec70daee6 amd64_apple: support thread-local addresses Quentin Carbonneaux 2023-04-02 16:51:49 +02:00
  • 56f4b5be4c amd64_sysv: fix offsets in thread-local Oaddr Quentin Carbonneaux 2023-04-02 15:44:28 +02:00
  • 28d9ca8eae print prefix for thread-local symbols Quentin Carbonneaux 2023-04-02 15:20:16 +02:00
  • a9d3e06a57 amd64_sysv: thread-local support in Oaddr Quentin Carbonneaux 2023-04-02 14:47:42 +02:00
  • 5fee3da6ac rename blknew() to newblk() Quentin Carbonneaux 2023-03-22 11:43:42 +01:00
  • eb9fcece9e naming nit Quentin Carbonneaux 2023-03-19 07:38:24 +01:00
  • 011dfc839d silence format warning more reliably Quentin Carbonneaux 2023-03-16 16:22:11 +01:00
  • 6f45894c7f silence some warnings Quentin Carbonneaux 2023-03-15 22:07:18 +01:00
  • 498af259eb fix memory leak Quentin Carbonneaux 2023-03-13 11:00:07 +01:00
  • f51aba22e0 refresh stale Tmp.link before use Quentin Carbonneaux 2023-03-12 22:32:57 +01:00
  • 7410f90629 Emit .type and .size directives on RISC-V and ARM Alexey Yerin 2023-02-23 17:10:19 +03:00
  • 9632f2f148 kill dead stores when coalescing slots Quentin Carbonneaux 2023-03-11 21:51:10 +01:00
  • f1b21d145b reorder some sections in doc Quentin Carbonneaux 2023-01-09 14:05:06 +01:00
  • 0956b11331 ready for this jelly Quentin Carbonneaux 2022-12-27 18:14:01 +01:00
  • a6cd65d498 link pthread in tests Quentin Carbonneaux 2022-12-25 16:38:46 +01:00
  • 5e9726946d new UNDEF Ref Quentin Carbonneaux 2022-12-18 17:35:19 +01:00
  • c5cd65261e update documentation Quentin Carbonneaux 2022-12-16 16:56:40 +01:00
  • 99fea1e211 bugfix in load elimination Quentin Carbonneaux 2022-12-13 10:50:27 +01:00
  • 26c1c30b7d new blit instruction Quentin Carbonneaux 2022-12-10 23:16:21 +01:00
  • 15e25a61b3 fix coalesce() to produce valid ssa Quentin Carbonneaux 2022-12-13 11:34:20 +01:00
  • c5ea06c136 treat retc as non-escaping Quentin Carbonneaux 2022-12-12 22:36:34 +01:00
  • c0f25aeae3 new rsval() helper for signed Refs Quentin Carbonneaux 2022-12-12 17:36:15 +01:00
  • 2ec355df6a crash loads from uninitialized slots Quentin Carbonneaux 2022-12-12 16:55:03 +01:00
  • 7ee9970b32 renamings in coalesce() Quentin Carbonneaux 2022-12-12 16:51:37 +01:00
  • d79b2aecbf zero msbs of 32-bit constants Quentin Carbonneaux 2022-12-12 13:57:28 +01:00
  • 9126afa2da new hlt block terminator Quentin Carbonneaux 2022-11-24 11:08:33 +01:00
  • b5da3f3d64 cosmetics in mem.c Quentin Carbonneaux 2022-11-24 10:31:52 +01:00
  • cbee74bdb4 use a new struct for symbols Quentin Carbonneaux 2022-11-22 21:44:44 +01:00
  • 04e2640901 rename Tmp.ins to be more descriptive Quentin Carbonneaux 2022-11-22 16:52:42 +01:00
  • 87dc3ea290 fix allocation ordering bug in rega Quentin Carbonneaux 2022-11-21 14:08:08 +01:00
  • 0db06dad63 recognize some phis as copies Quentin Carbonneaux 2022-11-21 11:29:22 +01:00
  • 674901b718 new slot coalescing pass Quentin Carbonneaux 2022-11-20 22:14:41 +01:00
  • f5007126f3 export getalias() Quentin Carbonneaux 2022-11-20 22:13:26 +01:00