FailedChanges

Summary

  1. [InstCombine][KnownBits] Use KnownBits better to detect nsw adds Change checkRippleForAdd from a heuristic to a full check - if it is provable that the add does not overflow return true, otherwise false. Patch by Yoav Ben-Shalom Differential Revision: https://reviews.llvm.org/D32686
  2. Mark functions as not having CFI once we finalize an x86 stack frame We'll set it back to true in emitPrologue if it gets called. It doesn't get called for naked functions. Fixes PR32912
  3. [KnownBits] Add methods for determining if KnownBits is a constant value This patch adds isConstant and getConstant for determining if KnownBits represents a constant value and to retrieve the value. Use them to simplify code. Differential Revision: https://reviews.llvm.org/D32785
  4. Remove a comment that is no longer true.
  5. [ValueTracking] Remove handling for BitWidth being 0 in ComputeSignBit and isKnownNonZero. I don't believe its possible to have non-zero values here since DataLayout became required. The APInt constructor inside of the KnownBits object will assert if this ever happens.
  6. [KnownBits] Add zext, sext, and trunc methods to KnownBits This patch adds zext, sext, and trunc methods to KnownBits and uses them where possible. Differential Revision: https://reviews.llvm.org/D32784
  7. [TargetLowering] use isSubsetOf in SimplifyDemandedBits; NFCI This is the DAG equivalent of https://reviews.llvm.org/D32255 , which will hopefully be committed again. The functionality (preferring a 'not' op) is already here in the DAG, so this is just intended to be a clean-up and performance improvement.
  8. clang-format and restyle DWARFFormValue before working on it. NFC
  9. DebugInfo: elide type index entries for synthetic types Compiler emitted synthetic types may not have an associated DIFile (translation unit). In such a case, when generating CodeView debug type information, we would attempt to compute an absolute filepath which would result in a segfault due to a NULL DIFile*. If there is no source file associated with the type, elide the type index entry for the type and record the type information. This actually results in higher fidelity debug information than clang/C2 as of this writing. Resolves PR32668!
Revision 302093 by ctopper:
[InstCombine][KnownBits] Use KnownBits better to detect nsw adds

Change checkRippleForAdd from a heuristic to a full check -
if it is provable that the add does not overflow return true, otherwise false.

Patch by Yoav Ben-Shalom

Differential Revision: https://reviews.llvm.org/D32686
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/AddOverFlow.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/AddOverFlow.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/demand_shrink_nsw.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/demand_shrink_nsw.ll
Revision 302092 by rnk:
Mark functions as not having CFI once we finalize an x86 stack frame

We'll set it back to true in emitPrologue if it gets called. It doesn't
get called for naked functions.

Fixes PR32912
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86FrameLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/win64_eh_leaf.ll (diff)llvm-revision.src/llvm/trunk/test/CodeGen/X86/win64_eh_leaf.ll
Revision 302091 by ctopper:
[KnownBits] Add methods for determining if KnownBits is a constant value

This patch adds isConstant and getConstant for determining if KnownBits represents a constant value and to retrieve the value. Use them to simplify code.

Differential Revision: https://reviews.llvm.org/D32785
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/KnownBits.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/KnownBits.h
The file was modified/llvm/trunk/lib/Analysis/ConstantFolding.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/ConstantFolding.cpp
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
Revision 302090 by ruiu:
Remove a comment that is no longer true.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/Driver.cpp (diff)llvm-revision.src/lld/trunk/ELF/Driver.cpp
Revision 302089 by ctopper:
[ValueTracking] Remove handling for BitWidth being 0 in ComputeSignBit and isKnownNonZero.

I don't believe its possible to have non-zero values here since DataLayout became required. The APInt constructor inside of the KnownBits object will assert if this ever happens.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/ValueTracking.cpp
Revision 302088 by ctopper:
[KnownBits] Add zext, sext, and trunc methods to KnownBits

This patch adds zext, sext, and trunc methods to KnownBits and uses them where possible.

Differential Revision: https://reviews.llvm.org/D32784
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/KnownBits.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Support/KnownBits.h
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/ValueTracking.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Revision 302087 by spatel:
[TargetLowering] use isSubsetOf in SimplifyDemandedBits; NFCI

This is the DAG equivalent of https://reviews.llvm.org/D32255 ,
which will hopefully be committed again. The functionality
(preferring a 'not' op) is already here in the DAG, so this is
just intended to be a clean-up and performance improvement.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 302086 by probinson:
clang-format and restyle DWARFFormValue before working on it. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFFormValue.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFFormValue.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/DWARF/DWARFFormValue.cpp
Revision 302085 by Saleem Abdulrasool:
DebugInfo: elide type index entries for synthetic types

Compiler emitted synthetic types may not have an associated DIFile
(translation unit).  In such a case, when generating CodeView debug type
information, we would attempt to compute an absolute filepath which
would result in a segfault due to a NULL DIFile*.  If there is no source
file associated with the type, elide the type index entry for the type
and record the type information.  This actually results in higher
fidelity debug information than clang/C2 as of this writing.

Resolves PR32668!
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was added/llvm/trunk/test/DebugInfo/COFF/synthetic.llllvm-revision.src/llvm/trunk/test/DebugInfo/COFF/synthetic.ll