c2ab6b58ff
artiq: Implement with legacy_parallel
block
2023-11-04 13:42:44 +08:00
0a84f7ac31
Add CodeGenerator::gen_block and refactor to use it
2023-11-04 13:42:44 +08:00
fd787ca3f5
core: Remove trunc
...
The behavior of trunc is already implemented by casts and is therefore
redundant.
2023-11-04 13:35:53 +08:00
4dbe07a0c0
core: Revert breaking changes to round-family functions
...
These functions should return ints as the math.* functions do instead of
following the convention of numpy.* functions.
2023-11-04 13:35:53 +08:00
2e055e8ab1
core: Replace rint implementation with LLVM intrinsic
2023-11-04 13:35:53 +08:00
9d737743c1
standalone: Add regression test for numeric primitive operations
2023-11-03 16:24:26 +08:00
c6b9aefe00
core: Fix int32-to-uint64 conversion
...
This conversion should be sign-extended.
2023-11-03 16:24:26 +08:00
8ad09748d0
core: Fix conversion from float to unsigned types
...
These conversions also need to wraparound.
2023-11-03 16:24:26 +08:00
7a5a2db842
core: Fix handling of float-to-int32 casts
...
Out-of-bound conversions should be wrapped around.
2023-11-03 16:24:26 +08:00
447eb9c387
standalone: Fix output format string for output_uint*
2023-11-03 16:24:26 +08:00
92d6f0a5d3
core: Implement bitwise not for unsigned ints and fix implementation
2023-11-03 16:24:26 +08:00
7e4dab15ae
standalone: Add math tests for non-number arguments
2023-11-01 18:03:29 +08:00
ff1fed112c
core: Rework gamma/gammaln to match SciPy behavior
...
Matches behavior for infinities and NaNs.
2023-11-01 18:03:29 +08:00
36a6a7b8cd
core: Replace TopLevelDef comments with documentation
2023-11-01 18:03:29 +08:00
2b635a0b97
core: Implement numpy and scipy functions
2023-11-01 18:03:29 +08:00
60ad100fbb
core: Implement and expose {isinf,isnan}
2023-11-01 18:03:29 +08:00
316f0824d8
flake: Add scipy
2023-11-01 18:03:29 +08:00
7cf7634985
core: Add create_fn_by_* functions
...
Used for abstracting the creation of function from different sources.
2023-11-01 18:03:29 +08:00
068f0d9faf
core: Do not cast floor/ceil result to int
...
NumPy explicitly states that the return type of the floor/ceil is float.
2023-11-01 18:03:29 +08:00
95810d4229
core: Remove {ceil64,floor64,round,round64}
...
These are not present in NumPy or Artiq.
2023-11-01 18:03:29 +08:00
630897b779
standalone: Do not output sign if float is NaN
...
Matches behavior in Python.
2023-11-01 18:03:29 +08:00
e546535df0
flake: update nixpkgs
2023-11-01 15:53:47 +08:00
352f70b885
artiq: Update host exception list to match possibly thrown types
2023-11-01 13:28:48 +08:00
e95586f61e
core: Fix IR generation of for
loop containing break/continue
...
Fix cases where the body BB would have two terminators because of a
preceding continue/break statement already emitting a terminator.
2023-11-01 13:21:27 +08:00
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