tshort / StaticCompiler.jl

Compiles Julia code to a standalone library (experimental)
Other
494 stars 31 forks source link

Rename functions in the compiled module #14

Closed tshort closed 4 years ago

tshort commented 4 years ago

Functions are renamed to include argument types. Cassette overdubs are handled specially to include the base function called. That helps with debugging, so not every function is overdub_xxxxxxx.

This pulls in more code from CUDAnative to support renaming. It also removes some duplicated methods in the compiled LLVM module.

codecov-io commented 4 years ago

Codecov Report

Merging #14 into master will decrease coverage by 0.87%. The diff coverage is 91.78%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
- Coverage    92.7%   91.83%   -0.88%     
==========================================
  Files           7        8       +1     
  Lines         288      343      +55     
==========================================
+ Hits          267      315      +48     
- Misses         21       28       +7
Impacted Files Coverage Δ
src/StaticCompiler.jl 100% <ø> (ø) :arrow_up:
src/ccalls.jl 95.83% <100%> (ø) :arrow_up:
src/extern.jl 100% <100%> (ø)
src/globals.jl 95.65% <100%> (-2.18%) :arrow_down:
src/irgen.jl 87.39% <91.04%> (+2.54%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 03b291c...b008137. Read the comment docs.

tshort commented 4 years ago

The test failure on Linux is weird. It fails on the branch but passes on the PR. Maybe it's the same root problem in @aminya's PR (it fails in a different spot, though). I have seen this test fail before. I'll see if I can reproduce.

tshort commented 4 years ago

After a dummy commit, now both the PR and the branch pass. Odd. It could be a Travis fluke, or there might be an intermittent gremlin somewhere, either in the compilation code or the testing code.

tshort commented 4 years ago

After retriggering tests, the branch fails on Windows and passes on Linux. Again, odd. Tests pass on the PR again. Failures always happen here with @jlrun gx(4) returning ~0.0 instead of 2.0.

tshort commented 4 years ago

Another trigger, and both pass again. I've tried it a bunch of times locally, and I can't reproduce the failure. I'm going to cross my fingers and merge this. We'll keep an eye on it for the future.