[PATCH] D19861: Pass LiveIntervals to foldMemoryOperandImpl(), to enable checking of liveness of preg (flag reg).

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Tue May 3 05:02:44 PDT 2016


jonpa created this revision.
jonpa added a reviewer: MatzeB.
jonpa added subscribers: uweigand, llvm-commits.
Herald added a subscriber: qcolombet.

SystemZ (and probably other targets as well) can fold a memory operand by changing the opcode into a new instruction that as a side-effect also clobbers the CC-reg. 

In order to do this, liveness of that reg must first be checked.

When LIS is passed, getRegUnit() can be called on it and the right LiveRange is computed on demand.

(originated on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098301.html)

http://reviews.llvm.org/D19861

Files:
  include/llvm/Target/TargetInstrInfo.h
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/TargetInstrInfo.cpp
  lib/Target/SystemZ/SystemZInstrInfo.cpp
  lib/Target/SystemZ/SystemZInstrInfo.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19861.55971.patch
Type: text/x-patch
Size: 6120 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160503/4700d6c7/attachment.bin>


More information about the llvm-commits mailing list