Skip to content

Commit

Permalink
compiler: Add LLVM attributes for time cursor manipulation functions
Browse files Browse the repository at this point in the history
This might slightly help with codegen quality on Zynq, where
now pinning is disabled for now.
  • Loading branch information
dnadlinger committed Jan 20, 2021
1 parent c1e46cc commit 5dda269
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions artiq/compiler/transforms/llvm_ir_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,11 @@ def llbuiltin(self, name):
if name in ("rtio_log", "rpc_send", "rpc_send_async",
self.target.print_function):
llglobal.attributes.add("nounwind")
if name in ("now_mu", "at_mu", "delay_mu"):
llglobal.attributes.add("inaccessiblememonly")
llglobal.attributes.add("nounwind")
if name == "now_mu":
llglobal.attributes.add("readonly")
if name.find("__py_") == 0:
llglobal.linkage = 'linkonce_odr'
self.emit_intrinsic(name, llglobal)
Expand Down

0 comments on commit 5dda269

Please sign in to comment.