pca006132
  • Joined on 2020-04-27
pca006132 commented on pull request M-Labs/nac3#255 2022-04-06 13:36:31 +08:00
Add bound check for list and range (#185)

It should be fine if updated when visiting statements. I am not worried about performance issue as this is just a simple copy... But I'm wondering why would it take 17.3s to compile a file with 10k…

pca006132 commented on issue M-Labs/nac3#256 2022-04-06 11:54:04 +08:00
"LLVM ERROR: Type mismatch in constant table!" on empty host list

Yes, add expected type to get_symbol_value is fine IMO.

pca006132 commented on pull request M-Labs/nac3#255 2022-04-06 11:53:14 +08:00
Add bound check for list and range (#185)

I wonder if we should add current_loc to CodeGenContext. You can pass the location information when you call functions like list assignment, so this change is really not necessary. The problem with this is that the location information is only updated when we visit Expr nodes, but not updated for other nodes such as statements.

pca006132 pushed to escape-analysis at M-Labs/nac3 2022-04-05 22:19:33 +08:00
c93f79f94a basic escape analysis for assignment statements
pca006132 commented on pull request M-Labs/nac3#255 2022-04-05 19:14:36 +08:00
Add bound check for list and range (#185)

what is this?

pca006132 merged pull request M-Labs/nac3#254 2022-04-04 22:43:20 +08:00
Fix float**int with negative power
pca006132 pushed to master at M-Labs/nac3 2022-04-04 22:43:20 +08:00
0d10044d66 Merge pull request 'Fix float**int with negative power' (#254) from neg_powi_fix into master
23b7f4ef18 nac3standalone: add tests for power
710904f975 nac3core: fix powi with negative integer power
Compare 3 commits »
pca006132 created branch escape-analysis in M-Labs/nac3 2022-04-04 22:42:57 +08:00
pca006132 pushed to escape-analysis at M-Labs/nac3 2022-04-04 22:42:57 +08:00
10c4544553 nac3core/typecheck: start implementing escape analysis
pca006132 commented on pull request M-Labs/nac3#254 2022-04-04 12:46:52 +08:00
Fix float**int with negative power

Use powi.f64.i32 then.

pca006132 commented on pull request M-Labs/nac3#254 2022-04-03 16:07:51 +08:00
Fix float**int with negative power

I guess we should change the powi.f64.i16 to powi.f64.i32 to fix this bug. Not sure if this can be considered as a bug in LLVM because they said

the only supported type for the exponent is…

pca006132 commented on pull request M-Labs/nac3#254 2022-04-03 15:49:50 +08:00
Fix float**int with negative power

Interestingly this works:

define void @test() {
body:
  %f_pow_i = call double @llvm.powi.f64(double 2.000000e+00, i32 -2)
  call void @output_float(double %f_pow_i)
  ret…
pca006132 commented on pull request M-Labs/nac3#254 2022-04-02 21:08:30 +08:00
Fix float**int with negative power

what are the unoptimized and optimized IRs for this code prior to this patch?

pca006132 commented on pull request M-Labs/nac3#253 2022-03-31 13:00:48 +08:00
nac3core: do not get llvm value too eagerly for kernel invariant

Might be good to have tests for this kind of thing that look at the IR.

Yes, we can see if there is a call void @print_int32(i32 123). We should not match the entire IR as it is too brittle.

pca006132 pushed to master at M-Labs/nac3 2022-03-31 12:48:50 +08:00
4f66bdeda9 Merge pull request 'nac3core: do not get llvm value too eagerly for kernel invariant' (#253) from kernel_invariant_fix into master
2edeb31d21 nac3core: do not get llvm value too eagerly for kernel invariant
Compare 2 commits »
pca006132 merged pull request M-Labs/nac3#253 2022-03-31 12:48:50 +08:00
nac3core: do not get llvm value too eagerly for kernel invariant
pca006132 commented on issue M-Labs/nac3#52 2022-03-31 10:27:33 +08:00
Objects with non-primitive fields

if constructed via constructor: local object otherwise: non-local object (including object fields) for non-local objects: prohibit assigning non-global objects to non-local object's fields

pca006132 pushed to master at M-Labs/nac3 2022-03-26 20:59:20 +08:00
1a82d296e7 nac3core/codegen: prevent users from modifying loop counter
pca006132 closed issue M-Labs/nac3#211 2022-03-26 20:59:20 +08:00
artiq_sinara_tester test_ttl_out_chunk never terminates
pca006132 commented on issue M-Labs/nac3#242 2022-03-26 20:31:36 +08:00
attribute writeback breaks with multiple kernel calls

Just add the following line before https://github.com/m-labs/artiq/blob/nac3/artiq/coredevice/core.py#L92

self.embedding_map.attributes_writeback = []