[PATCH] D15320: CodeGen: Redo analyzePhysRegs() and computeRegisterLiveness()

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 7 18:00:12 PST 2015


MatzeB created this revision.
MatzeB added reviewers: qcolombet, atrick.
MatzeB added subscribers: llvm-commits, jfb, sanjoy.
MatzeB set the repository for this revision to rL LLVM.
Herald added a subscriber: qcolombet.

computeRegisterLiveness() was broken in that it reported dead for a
register even if a subregister was alive. I assume this was because the
results of analayzePhysRegs() are hard to understand with respect to
subregisters.

This commit: Changes the results of analyzePhysRegs (=struct
PhysRegInfo) to be clearly understandable, also renames the fields to
avoid silent breakage of third-party code (and improve the grammar).

Fix all (two) users of computeRegisterLiveness() in llvm: By reenabling
it and removing workarounds for the bug.

This fixes http://llvm.org/PR24535 and http://llvm.org/PR25033

Repository:
  rL LLVM

http://reviews.llvm.org/D15320

Files:
  include/llvm/CodeGen/MachineBasicBlock.h
  include/llvm/CodeGen/MachineInstrBundle.h
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/MachineBasicBlock.cpp
  lib/CodeGen/MachineInstrBundle.cpp
  lib/Target/AArch64/AArch64ConditionalCompares.cpp
  lib/Target/ARM/ARMBaseInstrInfo.cpp
  lib/Target/X86/X86InstrInfo.cpp
  test/CodeGen/X86/cmpxchg-clobber-flags.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15320.42131.patch
Type: text/x-patch
Size: 17422 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151208/a8f63b8f/attachment.bin>


More information about the llvm-commits mailing list