[all-commits] [llvm/llvm-project] 8c0e71: [X86] BEXTR SimplifyDemandedBitsForTargetNode - le...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Feb 3 08:51:09 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8c0e715eb281fa8c3b1605191294671eb6a898b5
      https://github.com/llvm/llvm-project/commit/8c0e715eb281fa8c3b1605191294671eb6a898b5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-02-03 (Mon, 03 Feb 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-bextr.ll

  Log Message:
  -----------
  [X86] BEXTR SimplifyDemandedBitsForTargetNode - length == 0 -> result = 0


  Commit: 61621f826a5bd100c20ca4d740b52f9c09673e96
      https://github.com/llvm/llvm-project/commit/61621f826a5bd100c20ca4d740b52f9c09673e96
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-02-03 (Mon, 03 Feb 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/combine-bextr.ll

  Log Message:
  -----------
  [TargetLowering] SimplifyDemandedBits - add basic KnownBits ZEXTLoad handling

We have to be careful in SimplifyDemandedBits with loads in case we attempt to combine back to a constant (which then gets turned into a constant pool load again), but we can at least set the upper KnownBits for a ZEXTLoad to zero.


  Commit: bdfcdb1fb3f49ae4c59066e7454334a1583c1509
      https://github.com/llvm/llvm-project/commit/bdfcdb1fb3f49ae4c59066e7454334a1583c1509
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2020-02-03 (Mon, 03 Feb 2020)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp

  Log Message:
  -----------
  HexagonOptAddrMode::changeStore - fix null dereference warning (PR43463)

As detailed on PR43463, this fixes a static analyzer null dereference warning by sinking Changed = true into the if() blocks where the MIB is actually created.

I did a quick check that suggested that one of those if() blocks is always guaranteed to be hit (so we could change it to if-else), but this seems like a safer approach

Differential Revision: https://reviews.llvm.org/D73883


Compare: https://github.com/llvm/llvm-project/compare/ff837aa63cdf...bdfcdb1fb3f4


More information about the All-commits mailing list