SuccessChanges

Summary

  1. [Statepoint lowering] Require spill of deopt value in case its type is not legal (details)
  2. [SimplifyCFG] Update FoldTwoEntryPHINode to handle and/or of select and binop equally (details)
  3. [profile] Delete zero-size dummy sections (details)
  4. [NFC] Factor out IV detector function for further reuse (details)
  5. [NFC] Whitespace fix (details)
Commit 06c5119c76e9fa4f8be6728ae26832d3ebc70244 by serguei.katkov
[Statepoint lowering] Require spill of deopt value in case its type is not legal

If the type of the deopt operand has an illegal type and we want to use
register for it then it needs to be legalized.
This is not supported currently by legalizer and it is not actually clear how to
legalize this type of values.

Instead we just spill such values and use spill slot location in statepoint.

Originally tests were created by Philip Reames.

Reviewers: reames, dantrushin
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D97541
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was addedllvm/test/CodeGen/X86/statepoint-deopt-lowering.ll
Commit 5419b671375c46299ff1da6c929859040e7beaf5 by aqjune
[SimplifyCFG] Update FoldTwoEntryPHINode to handle and/or of select and binop equally

This is a minor change that fixes FoldTwoEntryPHINode to handle
phis with and/ors of select form and binop form equally.
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit dc93b1127c5e0621e672745d26bce5a11f68d943 by i
[profile] Delete zero-size dummy sections

They were added so that if no metadata section is present,
`__start_llvm_prf_*` references would not cause "undefined symbol"
errors.  By switching to undefined weak symbols in D96936, the dummy
sections are not needed.

This patch is also needed to work around
https://sourceware.org/bugzilla/show_bug.cgi?id=27490

Differential Revision: https://reviews.llvm.org/D97648
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformLinux.c
Commit 2892fcc204f30ff16d9adb382a67d7125598813d by mkazantsev
[NFC] Factor out IV detector function for further reuse
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit fdbad5e5acf44e870e607209fc464ee5689646d1 by mkazantsev
[NFC] Whitespace fix
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp