forked from M-Labs/artiq
llvm_ir_generator: don't mark non-constant attribute loads as invariant.
Oops.
This commit is contained in:
parent
dcb0ffdd03
commit
812e79b63d
|
@ -811,7 +811,8 @@ class LLVMIRGenerator:
|
||||||
llptr = self.llbuilder.gep(obj, [self.llindex(0), self.llindex(index)],
|
llptr = self.llbuilder.gep(obj, [self.llindex(0), self.llindex(index)],
|
||||||
inbounds=True, name="ptr.{}".format(insn.name))
|
inbounds=True, name="ptr.{}".format(insn.name))
|
||||||
llval = self.llbuilder.load(llptr, name="val.{}".format(insn.name))
|
llval = self.llbuilder.load(llptr, name="val.{}".format(insn.name))
|
||||||
llval.metadata['invariant.load'] = self.empty_metadata
|
if types.is_instance(typ) and attr not in typ.constant_attributes:
|
||||||
|
llval.metadata['invariant.load'] = self.empty_metadata
|
||||||
return llval
|
return llval
|
||||||
|
|
||||||
def process_SetAttr(self, insn):
|
def process_SetAttr(self, insn):
|
||||||
|
|
Loading…
Reference in New Issue