bb27e3d400
standalone: Fix indentation of demo.c
2023-11-01 13:20:26 +08:00
bb5147521f
standalone: Fix indentation of test files
2023-11-01 13:20:26 +08:00
9518d3fe14
artiq: Fix timeline not resetting upon exiting sequential block
2023-10-30 14:04:53 +08:00
cbd333ab10
artiq: Extract parallel
block timeline utilities
2023-10-30 14:04:53 +08:00
65d6104d00
artiq: Improve IR value naming and add documentation
2023-10-30 14:04:53 +08:00
8373a6cb0f
artiq: Use gen_block when generating "with sequential"
2023-10-30 14:04:53 +08:00
f75ae78677
cargo: Update dependencies
2023-10-30 14:04:53 +08:00
ea2ab0ef7c
update nixpkgs, python 3.11
2023-10-25 21:09:22 +08:00
e49b760e34
ld: Support multiple CFIs with different encoding in .eh_frame
...
We now parse each CFI to read its encoding as opposed to assuming that
all CFIs within the same EH_Frame uses the same encoding. FDEs are now
iterated in a per-CFI manner.
2023-10-20 18:15:03 +08:00
aa92778363
ld: Fix remapping of FDEs with multiple CFIs
2023-10-20 18:14:27 +08:00
e1487ed335
cargo: Update dependencies
2023-10-20 18:11:45 +08:00
73500c9081
core: Remove lazy_static from dependencies
2023-10-16 15:55:10 +08:00
9ca34c714e
flake: Enable thread-safe mode for LLVM
...
This is required as we use the LLVM APIs from multiple threads.
2023-10-16 15:55:10 +08:00
7fc2a30c14
Force single-threaded compilation if LLVM is not thread-safe
2023-10-16 15:55:10 +08:00
950f431483
standalone: Update help text for --emit-llvm
2023-10-16 15:52:51 +08:00
a50c690428
standalone: Fix run_demo script
...
- Link main and module*.bc together if using multiple threads
- Fix temporary files not being deleted
2023-10-16 15:52:48 +08:00
48eb64403f
standalone: Treat -T0 as using all available threads
2023-10-13 14:57:16 +08:00
2c44b58bb8
standalone: Require use of -T
for specifying thread count
2023-10-13 14:36:34 +08:00
50230e61f3
core: Simplify loop condition check for list comprehension
2023-10-06 12:24:03 +08:00
0205161e35
core: Simplify list creation for comprehension
2023-10-06 12:22:38 +08:00
a2fce49b26
core: Allocate exceptions at the beginning of function
...
Only one instance of exception is necessary, as exceptions will always
be initialized before being thrown.
2023-10-06 12:13:20 +08:00
60a503a791
core: Allocate more stack variables at the beginning of function
...
All allocas for temporary objects are now placed in the beginning of the
function. Allocas for on-temporary objects are not modified because
these variables may appear in a loop and thus must be uniquely
allocated by different allocas.
2023-10-06 11:42:47 +08:00
0c49b30a90
core: Restore debug info before function call is invoked
...
Previously, the IR which sets up the call to the target function will
have its debug location pointing at the last argument of the function
call instead of the function call itself.
2023-10-06 11:35:23 +08:00
c7de22287e
core: Fix restoration of stack address
...
All allocas for temporary objects are now placed in the beginning of the
function. Allocas for on-temporary objects are not modified because
these variables may appear in a loop and thus must be uniquely
represented.
2023-10-06 11:34:23 +08:00
1a54aaa1c0
core: Restore debug location when generating allocas
...
Debug location is lost when moving the builder cursor.
2023-10-06 11:11:50 +08:00
c5629d4eb5
standalone: Remove redundant const in demo library
2023-10-06 10:32:58 +08:00
a79286113e
standalone: Add output_bool in demo library
2023-10-06 10:19:22 +08:00
901e921e00
windows: fix build
2023-10-05 18:02:53 +08:00
45a323e969
windows: update msys2 packages
2023-10-05 17:52:29 +08:00
11759a722f
flake: fix pgo build
2023-10-05 17:38:36 +08:00
480a4bc0ad
core: Implement comparison operators for unsigned types
2023-10-05 17:13:10 +08:00
a1d3093196
flake: update dependencies
2023-10-05 17:05:57 +08:00
85c5f2c044
cargo: update dependencies
2023-10-05 17:03:35 +08:00
f34c6053d6
standalone: Add flags to control demo output options
2023-10-04 18:11:44 +08:00
e8a5f0dfef
standalone: Fix parsing NAC3 args in check_demo.sh
2023-10-04 18:03:28 +08:00
7140901261
standalone: Fix missing libraries when linking
...
Fixes `undefined reference to 'pow'` for pow.py using -O0.
2023-10-04 18:03:28 +08:00
2a775d822e
core: Demote dead code into a stdout warning
2023-10-04 18:03:25 +08:00
1659c3e724
standalone: Remove temporary logfiles after execution
2023-09-30 09:31:18 +08:00
f53cb804ec
standalone: Add execution of test cases via lli
2023-09-30 09:31:18 +08:00
279376a373
standalone: Emit IRRT IR
2023-09-30 09:31:18 +08:00
b6afd1bfda
standalone: Split check_demos into check_demo
...
Allows individual tests to be executed.
2023-09-30 09:31:18 +08:00
be3e8f50a2
standalone: Refactor demo library to C
...
Needed for use by lli.
2023-09-30 09:31:18 +08:00
059d3da58b
standalone: Add float64 output tests
2023-09-30 09:31:18 +08:00
9b28f23d8c
flake: Add clang alongside clang-unwrapped
2023-09-30 09:31:18 +08:00
119f4d63e9
cargo: update dependencies
2023-09-29 14:46:22 +08:00
458fa12788
flake: update dependencies
2023-09-29 14:07:47 +08:00
48c6498d1f
core: Fix restoration of loop target in try statement
...
old_loop_target is only assigned if ctx.loop_target is overwritten,
meaning that if ctx.loop_target is never overwritten, ctx.loop_target
will always be overwritten to None.
We fix this by only restoring from old_loop_target if we previously
assigned to old_loop_target.
2023-09-28 20:00:02 +08:00
2a38d5160e
meta: Respect opt flags when performing whole-module optimization
2023-09-28 19:58:54 +08:00
b39831b388
standalone: Update demos
...
- Add `output_str` for printing a string
- Add demo_test.py to test interop
2023-09-28 19:58:53 +08:00
cb39f61e79
core: Fix passing structure arguments to extern functions
...
All parameters with a structure type in extern functions are marked as
`byref` instead of `byval`, as most ABIs require the first several
arguments to be passed in registers before spilling into the stack.
`byval` breaks this contract by explicitly requiring all arguments to be
passed in the stack, breaking interop with libraries written in other
languages.
2023-09-28 15:02:35 +08:00