pca006132
  • Joined on 2020-04-27
pca006132 pushed to exception at pca006132/artiq-zynq 2022-01-17 21:04:20 +08:00
fe21f0803c runtime/eh_artiq: allocate names in a static buffer
pca006132 commented on pull request M-Labs/artiq-zynq#162 2022-01-15 18:06:55 +08:00
exception fixes

yes, would fix later

pca006132 pushed to exception at pca006132/artiq-zynq 2022-01-14 19:39:07 +08:00
86f10e0ab5 runtime/eh_artiq: support exception allocation
pca006132 created pull request M-Labs/artiq-zynq#162 2022-01-14 19:33:06 +08:00
WIP: exception fixes
pca006132 pushed to exception at pca006132/artiq-zynq 2022-01-14 19:26:49 +08:00
b2171ff091 runtime/eh_artiq: support exception allocation
pca006132 commented on pull request M-Labs/nac3#168 2022-01-14 15:30:03 +08:00
Error Message Improvement for Host Variables (#116)

LGTM. Btw can we also make codegen return results? When I add RPC later, I will have to return an error if the RPC parameter type is not something that we support. Thanks.

Sure, I am now…

pca006132 created branch exception in pca006132/artiq-zynq 2022-01-14 13:38:52 +08:00
pca006132 pushed to exception at pca006132/artiq-zynq 2022-01-14 13:38:52 +08:00
8923feceac runtime/eh_artiq: use forced unwind
pca006132 commented on pull request M-Labs/nac3#168 2022-01-14 13:22:02 +08:00
Error Message Improvement for Host Variables (#116)

LGTM. Btw can we also make codegen return results? When I add RPC later, I will have to return an error if the RPC parameter type is not something that we support. Thanks.

pca006132 commented on pull request M-Labs/nac3#140 2022-01-10 00:12:40 +08:00
List Slice Support (#72)

Just wondering: Do we really need thhe IRRT prefix? The symbol names are super long and I think __nac3 prefix is enough?

pca006132 commented on pull request M-Labs/nac3#160 2022-01-08 13:00:26 +08:00
Introduce IRRT and implement power operator (#50)

You can't get any better than this :)

pca006132 commented on pull request M-Labs/artiq-zynq#161 2022-01-08 12:59:58 +08:00
eh_artiq: handle catch clauses appropriately

Using the old compiler with this firmware would have issue due to differences in handling the except clause: the old one would emit a name but this patch expects a null pointer.

And what…

pca006132 commented on pull request M-Labs/artiq-zynq#161 2022-01-07 23:10:44 +08:00
eh_artiq: handle catch clauses appropriately

Should be used together with https://github.com/m-labs/artiq/tree/landingpad

The compiler change: Yes, it should be. The original firmware will run the clause anyway during unwind, so the…

pca006132 commented on pull request M-Labs/nac3#160 2022-01-07 16:21:58 +08:00
Introduce IRRT and implement power operator (#50)

Yes another way is to use the double**int -> double llvm intrinsic (llvm does not provide int**int -> int intrinsic..). And to address this bug

pca006132 commented on pull request M-Labs/nac3#160 2022-01-07 15:12:10 +08:00
Introduce IRRT and implement power operator (#50)

and why can't we use the intrinsic? is it removed in newer versions?

pca006132 commented on pull request M-Labs/nac3#160 2022-01-07 15:11:28 +08:00
Introduce IRRT and implement power operator (#50)

you can print the IR and run it through opt to see if it can fold well.

pca006132 commented on pull request M-Labs/nac3#140 2022-01-06 19:22:34 +08:00
List Slice Support (#72)

Sorry forgot that this is a separate function call. If so it should be fine. I guess you fast path can be removed too.

pca006132 commented on pull request M-Labs/nac3#140 2022-01-06 17:40:02 +08:00
List Slice Support (#72)

Well this is actually unsafe. We may have u64 length pointer for 64 bits target... Maybe you can make a temporary integer, take its address and store it back? I don't think we will ever do something that big so it should be fine. I think LLVM should be able to optimize this for 32 bits target.

pca006132 commented on pull request M-Labs/nac3#140 2022-01-06 17:36:42 +08:00
List Slice Support (#72)

I guess you can make this a special case of the next case. Just ignore the step if src_len == 0 and avoid the first memcpy but keep the second.

pca006132 commented on pull request M-Labs/nac3#140 2022-01-06 17:35:16 +08:00
List Slice Support (#72)

You should use memcpy, which is usually faster than memmove. memmove should only be used when the buffers overlap, i.e. when you shift the remaining elements in the list.