[all-commits] [llvm/llvm-project] 739282: [Align] Remove operations on MaybeAlign that asser...

topperc via All-commits all-commits at lists.llvm.org
Fri May 22 23:19:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7392820f989048000562b8fa7dade023dddacb37
      https://github.com/llvm/llvm-project/commit/7392820f989048000562b8fa7dade023dddacb37
  Author: Craig Topper <craig.topper at gmail.com>
  Date:   2020-05-22 (Fri, 22 May 2020)

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/Support/Alignment.h
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/unittests/Support/AlignmentTest.cpp

  Log Message:
  -----------
  [Align] Remove operations on MaybeAlign that asserted that it had a defined value.

If the caller needs to reponsible for making sure the MaybeAlign
has a value, then we should just make the caller convert it to an Align
with operator*.

I explicitly deleted the relational comparison operators that
were being inherited from Optional. It's unclear what the meaning
of two MaybeAligns were one is defined and the other isn't
should be. So make the caller reponsible for defining the behavior.

I left the ==/!= operators from Optional. But now that exposed a
weird quirk that ==/!= between Align and MaybeAlign required the
MaybeAlign to be defined. But now we use the operator== from
Optional that takes an Optional and the Value.

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




More information about the All-commits mailing list