gingerBill
|
7ebc5c462e
|
Correct #pure checking for internal branches and effect volatility
|
2026-08-24 11:57:34 +01:00 |
|
gingerBill
|
c3c3aa1533
|
Add #pure directive for asm templates
|
2026-08-24 11:46:07 +01:00 |
|
gingerBill
|
2f2ab370e0
|
Fix the actual check for reading from a register that has not be written to yet
|
2026-08-24 10:37:59 +01:00 |
|
gingerBill
|
cebceb9bb2
|
Merge branch 'master' into asm_rip_width
|
2026-08-24 09:31:54 +01:00 |
|
kalsprite
|
b6c64c28b5
|
Diagnose in an asm template instead of aborting with SIGILL
|
2026-08-23 22:36:57 -07:00 |
|
kalsprite
|
deb45f3e6a
|
asm named slots
|
2026-08-23 21:34:31 -07:00 |
|
gingerBill
|
4247507dd5
|
- to /
|
2026-08-22 19:39:10 +01:00 |
|
gingerBill
|
7bd1c9d160
|
Improve implicit register printing for read-writes, writes, reads
|
2026-08-22 19:36:47 +01:00 |
|
gingerBill
|
a2013cfccd
|
Trim trailing whitespace on pretty printed forms
|
2026-08-22 19:00:00 +01:00 |
|
gingerBill
|
89cbcf958d
|
For forms which only take immediates or nothing at all, add a comment stating what they implicitly read and write from
|
2026-08-22 18:59:14 +01:00 |
|
gingerBill
|
0ba2328c32
|
Remove debug code
|
2026-08-22 18:48:13 +01:00 |
|
gingerBill
|
0427b18d70
|
Simplify error block logic for printing mnemonic forms
|
2026-08-22 18:44:33 +01:00 |
|
gingerBill
|
f3cbeb909c
|
Add some capitalization
|
2026-08-22 18:40:48 +01:00 |
|
gingerBill
|
eb380fc4fa
|
Give good error messages for possible forms for the mnemonics
|
2026-08-22 18:39:18 +01:00 |
|
gingerBill
|
cbbb84cd2b
|
Begin work on printing all of the forms of a specific mnemonic
|
2026-08-22 17:41:25 +01:00 |
|
gingerBill
|
629f7b5098
|
Support all pointer-like types not just actual pointers
|
2026-08-21 16:27:46 +01:00 |
|
gingerBill
|
c26aa48ca5
|
Support + - and ~ unary operators for asm operands
|
2026-08-21 16:01:49 +01:00 |
|
gingerBill
|
c6a4dd08fc
|
Add typename to keep clang happy
|
2026-08-21 15:57:45 +01:00 |
|
gingerBill
|
83f5cd8767
|
Add extra check for scratch parameters with no other parameters
|
2026-08-21 15:45:23 +01:00 |
|
gingerBill
|
648c418fc4
|
Restrict riscv to only allow [base + disp] (i.e. disallow index*scale style things)
|
2026-08-21 14:31:58 +01:00 |
|
gingerBill
|
4a4a5045f8
|
Check for float register width exactly for risc-v frontend
|
2026-08-21 12:19:02 +01:00 |
|
gingerBill
|
a604ddceb1
|
Support pseudo macro mnemonics (for RISC-V) in the frontend
|
2026-08-21 11:47:41 +01:00 |
|
gingerBill
|
d0fb380c20
|
Support riscv _aq _rl _aqrl suffixes for mnemonics
|
2026-08-21 01:05:47 +01:00 |
|
gingerBill
|
acb6c1408f
|
Remove unneeded typename usage
|
2026-08-21 00:39:26 +01:00 |
|
gingerBill
|
de8c0dc4fe
|
Fix register width test for risc-v, and improve operand slot type inference for risc-v
|
2026-08-21 00:38:34 +01:00 |
|
gingerBill
|
09204e8982
|
Correct risc-v aliases
|
2026-08-20 19:48:30 +01:00 |
|
gingerBill
|
7a7bfea0bd
|
Begin work on pseudo mnemonics in the checker
|
2026-08-20 19:12:44 +01:00 |
|
gingerBill
|
84f9bc76f9
|
Mockout inline asm for riscv
|
2026-08-20 14:42:42 +01:00 |
|
gingerBill
|
b82fa18cb3
|
Fix typo
|
2026-08-20 10:16:34 +01:00 |
|
gingerBill
|
5d873a4b8c
|
Update assert
|
2026-08-20 09:58:32 +01:00 |
|
gingerBill
|
63918fe1fe
|
Remove debug code
|
2026-08-20 09:54:50 +01:00 |
|
gingerBill
|
baae2636b8
|
Add support for x86 mnenomics in and out
|
2026-08-20 09:53:28 +01:00 |
|
gingerBill
|
7a6f70ba31
|
False positives: Ignore the out pinned parameters for the time being
|
2026-08-19 17:34:14 +01:00 |
|
gingerBill
|
2873e323c7
|
Fix #align_stack redundancy checks
|
2026-08-19 14:52:35 +01:00 |
|
gingerBill
|
5e165d2393
|
Add even more diagnostics for pinned registers; and begin work on redundant #align_stack checks
|
2026-08-19 14:50:08 +01:00 |
|
gingerBill
|
7638ac1bd4
|
Add more checks for flag clobbering
|
2026-08-19 14:09:46 +01:00 |
|
gingerBill
|
adbd1bd930
|
Add code (but disablled) to warn for redundant #clobber and #volatile
|
2026-08-19 13:56:15 +01:00 |
|
gingerBill
|
d4f81b5220
|
Add checks to see if diverging asm templates are actually diverging
|
2026-08-19 13:51:28 +01:00 |
|
gingerBill
|
229a5164a7
|
Add warning for unused lables in asm templates
|
2026-08-19 13:17:10 +01:00 |
|
gingerBill
|
5917d5db6e
|
Add error message for immediate-operand specificity
|
2026-08-19 13:12:15 +01:00 |
|
gingerBill
|
0c42447192
|
Add pin class/width and tie class checks
|
2026-08-19 13:11:08 +01:00 |
|
gingerBill
|
75c91feb36
|
Check for output parameters not used but pinned; Check for templates with observable effects but not marked as #volatile
|
2026-08-19 12:56:03 +01:00 |
|
gingerBill
|
8956deb322
|
Check for implicitly read registers which have not be handled
|
2026-08-19 12:29:54 +01:00 |
|
gingerBill
|
6d903e9bde
|
Remove implicit_rd from clobber
|
2026-08-19 11:56:07 +01:00 |
|
gingerBill
|
8d0cc4d64b
|
Clobber implicit_wr and implicit_rd
|
2026-08-19 11:03:50 +01:00 |
|
gingerBill
|
a86e523053
|
Allow for inlineable asm calls
|
2026-08-18 14:57:34 +01:00 |
|
gingerBill
|
fd9ccd7b10
|
Support segment overrides on asm memory operands
|
2026-08-18 14:44:24 +01:00 |
|
gingerBill
|
12c89ee2bf
|
Allow for [base - disp]
|
2026-08-18 14:11:01 +01:00 |
|
gingerBill
|
8e807fb7aa
|
Use new clobber forms in check_asm.cpp
|
2026-08-18 11:23:20 +01:00 |
|
gingerBill
|
582ff64bee
|
General clean up of llvm_backend_asm.cpp code
|
2026-08-17 22:58:51 +01:00 |
|