mirror of https://github.com/m-labs/artiq.git
llvm_ir_generator: change !{→unconditionally_}dereferenceable.
Since LLVM 3.8, !dereferenceable is weaker, so we introduce !unconditionally_dereferenceable (http://reviews.llvm.org/D18738) to regain its functionality.
This commit is contained in:
parent
72b952e850
commit
ad83b092fa
|
@ -654,7 +654,7 @@ class LLVMIRGenerator:
|
||||||
assert isinstance(load, ll.LoadInstr) and isinstance(load.type, ll.PointerType)
|
assert isinstance(load, ll.LoadInstr) and isinstance(load.type, ll.PointerType)
|
||||||
pointee_size = load.type.pointee.get_abi_size(self.lldatalayout, context=self.llcontext)
|
pointee_size = load.type.pointee.get_abi_size(self.lldatalayout, context=self.llcontext)
|
||||||
metadata = self.llmodule.add_metadata([ll.Constant(lli64, pointee_size)])
|
metadata = self.llmodule.add_metadata([ll.Constant(lli64, pointee_size)])
|
||||||
load.set_metadata('dereferenceable', metadata)
|
load.set_metadata('unconditionally_dereferenceable', metadata)
|
||||||
|
|
||||||
def process_GetLocal(self, insn):
|
def process_GetLocal(self, insn):
|
||||||
env = insn.environment()
|
env = insn.environment()
|
||||||
|
|
Loading…
Reference in New Issue