1
0
forked from M-Labs/artiq
artiq/artiq/compiler
pca006132 da4ff44377 compiler: fixed try codegen and allocate exceptions
Exceptions are now allocated in the runtime when we raise the exception,
and destroyed when we exit the catch block. Nested exception and try
block is now supported, and should behave the same as in CPython.
Exceptions raised in except blocks will now unwind through finally
blocks, matching the behavior in CPython. Reraise will now preserve
backtrace.

Phi block LLVM IR generation is modified to handle landingpads, which
one ARTIQ IR will map to multiple LLVM IR.
2022-01-26 07:16:54 +08:00
..
algorithms compiler: do not associate SSA values with iodelay even when inlining. 2015-12-25 15:02:33 +08:00
analyses compiler: Constness is a validator, not analysis. 2017-06-09 07:29:31 +00:00
testbench compiler/tb: use FPU 2021-11-08 16:59:08 +08:00
transforms compiler: fixed try codegen and allocate exceptions 2022-01-26 07:16:54 +08:00
validators compiler: T{C -> External}Function, clarify docs [nfc] 2020-08-09 03:54:41 +01:00
__init__.py compiler: pull in dependencies in more finely grained way (fixes #181). 2015-11-24 17:32:04 +08:00
asttyped.py compiler: allow specifying per-function "fast-math" flags. 2016-03-28 21:44:08 +00:00
builtins.py compiler: modified exception representation 2022-01-26 07:16:54 +08:00
embedding.py compiler: modified exception representation 2022-01-26 07:16:54 +08:00
import_cache.py import_cache: make sure last line ends with \n as linecache does. Closes #547 2016-09-02 11:01:28 +08:00
iodelay.py compiler.iodelay: correctly fold max(0, [0, ]...). 2015-11-24 00:46:55 +08:00
ir.py compiler: fixed try codegen and allocate exceptions 2022-01-26 07:16:54 +08:00
kernel.ld linker: generate stack guard + symbol 2021-10-16 17:42:24 +08:00
math_fns.py compiler: Provide libm special functions (erf, Bessel functions, …) 2020-11-11 19:15:30 +01:00
module.py compiler: modified exception representation 2022-01-26 07:16:54 +08:00
prelude.py compiler: remove obsolete watchdog code (#1458) 2020-12-08 13:25:08 +08:00
targets.py compiler/target: split RISCV target into float/non-float 2021-11-08 16:59:08 +08:00
types.py syscall: lower nowrite to inaccessiblememonly 2021-09-10 13:25:12 +08:00