SuccessChanges

Summary

  1. Set ENABLE_WERROR=OFF for ABITestsuitBuilder.
  2. Add a blurb to the release notes about the WeakVH -> WeakTrackingVH transition
  3. Fixed 'haltOnFailure' for build step.
  4. [CodeView] Add support for random access type visitors. Previously type visitation was done strictly sequentially, and TypeIndexes were computed by incrementing the TypeIndex of the last visited record. This works fine for situations like dumping, but not when you want to visit types in random order. For example, in a debug session someone might lookup a symbol by name, find that it has TypeIndex 10,000 and then want to go straight to TypeIndex 10,000. In order to make this work, the visitation framework needs a mode where it can plumb TypeIndices through the callback pipeline. This patch adds such a mode. In doing so, it is necessary to provide an alternative implementation of TypeDatabase that supports random access, so that is done as well. Nothing actually uses these random access capabilities yet, but this will be done in subsequent patches. Differential Revision: https://reviews.llvm.org/D32928
  5. [AArch64][RegisterBankInfo] Change the default mapping of fp loads. This fixes PR32550, in a way that does not imply running the greedy mode at O0. The fix consists in checking if a load is used by any floating point instruction and if yes, we return a default mapping with FPR instead of GPR.
  6. [AArch64][RegisterBankInfo] Fix mapping cost for GPR. In r292478, we changed the order of the enum that is referenced by PMI_FirstXXX. This had the side effect of changing the cost of the mapping of all the loads, instead of just the FPRs ones. Reinstate the higher cost for all but GPR loads. Note: This did not have any external visible effects: - For Fast mode, the cost would have been higher, but we don't care because we don't try to use alternative mappings. - For Greedy mode, the higher cost of the GPR loads, would have triggered the use of the supposedly alternative mapping, that would be in fact the same GPR mapping but with a lower cost.
  7. [InstCombine] move/add tests for not(shr (not X), Y); NFC
  8. [ARM] Use a Changed flag to avoid making a pass's return value dependent on a compare with a Statistic object. Statistic compile to always be 0 in release build so this compare would always return false. And in the debug builds Statistic are global variables and remember their values across pass runs. So this compare returns true anytime the pass runs after the first time it modifies something. This was found after reviewing all usages of comparison operators on a Statistic object. We had some internal code that did a compare with a statistic that caused a mismatch in output between debug and release builds. So we did an audit out of paranoia.
Revision 302457 by gkistanova:
Set ENABLE_WERROR=OFF for ABITestsuitBuilder.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.py (diff)llvm-revision.src/zorg/trunk/buildbot/osuosl/master/config/builders.py
Revision 302456 by sanjoy:
Add a blurb to the release notes about the WeakVH -> WeakTrackingVH transition
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/ReleaseNotes.rst (diff)llvm-revision.src/llvm/trunk/docs/ReleaseNotes.rst
Revision 302455 by gkistanova:
Fixed 'haltOnFailure' for build step.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/ABITestsuitBuilder.py (diff)llvm-revision.src/zorg/trunk/zorg/buildbot/builders/ABITestsuitBuilder.py
Revision 302454 by zturner:
[CodeView] Add support for random access type visitors.

Previously type visitation was done strictly sequentially, and
TypeIndexes were computed by incrementing the TypeIndex of the
last visited record.  This works fine for situations like dumping,
but not when you want to visit types in random order.  For example,
in a debug session someone might lookup a symbol by name, find that
it has TypeIndex 10,000 and then want to go straight to TypeIndex
10,000.

In order to make this work, the visitation framework needs a mode
where it can plumb TypeIndices through the callback pipeline.  This
patch adds such a mode.  In doing so, it is necessary to provide
an alternative implementation of TypeDatabase that supports random
access, so that is done as well.

Nothing actually uses these random access capabilities yet, but
this will be done in subsequent patches.

Differential Revision: https://reviews.llvm.org/D32928
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeDatabase.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeDatabase.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
The file was modified/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h (diff)llvm-revision.src/llvm/trunk/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/TypeDatabase.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/TypeDatabase.cpp
The file was modified/llvm/trunk/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp (diff)llvm-revision.src/llvm/trunk/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp
Revision 302453 by qcolombet:
[AArch64][RegisterBankInfo] Change the default mapping of fp loads.

This fixes PR32550, in a way that does not imply running the greedy
mode at O0.

The fix consists in checking if a load is used by any floating point
instruction and if yes, we return a default mapping with FPR instead
of GPR.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir (diff)llvm-revision.src/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
Revision 302452 by qcolombet:
[AArch64][RegisterBankInfo] Fix mapping cost for GPR.

In r292478, we changed the order of the enum that is referenced by
PMI_FirstXXX. This had the side effect of changing the cost of the
mapping of all the loads, instead of just the FPRs ones.

Reinstate the higher cost for all but GPR loads.
Note: This did not have any external visible effects:
- For Fast mode, the cost would have been higher, but we don't care
  because we don't try to use alternative mappings.
- For Greedy mode, the higher cost of the GPR loads, would have
  triggered the use of the supposedly alternative mapping, that
  would be in fact the same GPR mapping but with a lower cost.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
Revision 302451 by spatel:
[InstCombine] move/add tests for not(shr (not X), Y); NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/not.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/not.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/xor2.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/xor2.ll
Revision 302450 by ctopper:
[ARM] Use a Changed flag to avoid making a pass's return value dependent on a compare with a Statistic object.

Statistic compile to always be 0 in release build so this compare would always return false. And in the debug builds Statistic are global variables and remember their values across pass runs. So this compare returns true anytime the pass runs after the first time it modifies something.

This was found after reviewing all usages of comparison operators on a Statistic object. We had some internal code that did a compare with a statistic that caused a mismatch in output between debug and release builds. So we did an audit out of paranoia.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMOptimizeBarriersPass.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/ARM/ARMOptimizeBarriersPass.cpp