From ad83b092faf9de91aa571eb5e544d0e22e2bcd74 Mon Sep 17 00:00:00 2001 From: whitequark Date: Sun, 3 Apr 2016 10:53:03 +0000 Subject: [PATCH] =?UTF-8?q?llvm=5Fir=5Fgenerator:=20change=20!{=E2=86=92un?= =?UTF-8?q?conditionally=5F}dereferenceable.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since LLVM 3.8, !dereferenceable is weaker, so we introduce !unconditionally_dereferenceable (http://reviews.llvm.org/D18738) to regain its functionality. --- artiq/compiler/transforms/llvm_ir_generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artiq/compiler/transforms/llvm_ir_generator.py b/artiq/compiler/transforms/llvm_ir_generator.py index f1e37c89c..3bebe513b 100644 --- a/artiq/compiler/transforms/llvm_ir_generator.py +++ b/artiq/compiler/transforms/llvm_ir_generator.py @@ -654,7 +654,7 @@ class LLVMIRGenerator: assert isinstance(load, ll.LoadInstr) and isinstance(load.type, ll.PointerType) pointee_size = load.type.pointee.get_abi_size(self.lldatalayout, context=self.llcontext) 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): env = insn.environment()