SuccessChanges

Summary

  1. [OPENMP5.0]Allow multiple context selectors in the context selector sets. According to OpenMP 5.0, context selector set might include several context selectors, separated with commas. Patch fixes this problem.
  2. [Alignment][NFC] Align(1) to Align::None() conversions Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67715
  3. [SampleFDO] Minimize performance impact when profile-sample-accurate is enabled. We can save memory and reduce binary size significantly by enabling ProfileSampleAccurate. However when ProfileSampleAccurate is true, function without sample will be regarded as cold and this could potentially cause performance regression. To minimize the potential negative performance impact, we want to be a little conservative here saying if a function shows up in the profile, no matter as outline instance, inline instance or call targets, treat the function as not being cold. This will handle the cases such as most callsites of a function are inlined in sampled binary (thus outline copy don't get any sample) but not inlined in current build (because of source code drift, imprecise debug information, or the callsites are all cold individually but not cold accumulatively...), so that the outline function showing up as cold in sampled binary will actually not be cold after current build. After the change, such function will be treated as not cold even profile-sample-accurate is enabled. At the same time we lower the hot criteria of callsiteIsHot check when profile-sample-accurate is enabled. callsiteIsHot is used to determined whether a callsite is hot and qualified for early inlining. When profile-sample-accurate is enabled, functions without profile will be regarded as cold and much less inlining will happen in CGSCC inlining pass, so we can worry less about size increase and be aggressive to allow more early inlining to happen for warm callsites and it is helpful for performance overall. Differential Revision: https://reviews.llvm.org/D67561
  4. [Alignment][NFC] Remove LogAlignment functions Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67620
  5. [Alignment][NFC] Use Align::None instead of 1 Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet Subscribers: sdardis, nemanjai, hiraditya, kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67704
Revision 372235 by abataev:
[OPENMP5.0]Allow multiple context selectors in the context selector
sets.

According to OpenMP 5.0, context selector set might include several
context selectors, separated with commas. Patch fixes this problem.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Parse/Parser.h (diff)clang.src/include/clang/Parse/Parser.h
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)clang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)clang.src/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.c (diff)clang.src/test/OpenMP/declare_variant_ast_print.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_ast_print.cpp (diff)clang.src/test/OpenMP/declare_variant_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.c (diff)clang.src/test/OpenMP/declare_variant_messages.c
The file was modified/cfe/trunk/test/OpenMP/declare_variant_messages.cpp (diff)clang.src/test/OpenMP/declare_variant_messages.cpp
Revision 372234 by gchatelet:
[Alignment][NFC] Align(1) to Align::None() conversions

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67715
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MIRPrinter.cpp (diff)llvm.src/lib/CodeGen/MIRPrinter.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp (diff)llvm.src/lib/CodeGen/MachineBasicBlock.cpp
Revision 372232 by wmi:
[SampleFDO] Minimize performance impact when profile-sample-accurate
is enabled.

We can save memory and reduce binary size significantly by enabling
ProfileSampleAccurate. However when ProfileSampleAccurate is true,
function without sample will be regarded as cold and this could
potentially cause performance regression.

To minimize the potential negative performance impact, we want to be
a little conservative here saying if a function shows up in the profile,
no matter as outline instance, inline instance or call targets, treat
the function as not being cold. This will handle the cases such as most
callsites of a function are inlined in sampled binary (thus outline copy
don't get any sample) but not inlined in current build (because of source
code drift, imprecise debug information, or the callsites are all cold
individually but not cold accumulatively...), so that the outline function
showing up as cold in sampled binary will actually not be cold after current
build. After the change, such function will be treated as not cold even
profile-sample-accurate is enabled.

At the same time we lower the hot criteria of callsiteIsHot check when
profile-sample-accurate is enabled. callsiteIsHot is used to determined
whether a callsite is hot and qualified for early inlining. When
profile-sample-accurate is enabled, functions without profile will be
regarded as cold and much less inlining will happen in CGSCC inlining pass,
so we can worry less about size increase and be aggressive to allow more
early inlining to happen for warm callsites and it is helpful for performance
overall.

Differential Revision: https://reviews.llvm.org/D67561
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ProfileData/SampleProfReader.h (diff)llvm.src/include/llvm/ProfileData/SampleProfReader.h
The file was modified/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp (diff)llvm.src/lib/Transforms/IPO/SampleProfile.cpp
The file was added/llvm/trunk/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdollvm.src/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdo
The file was added/llvm/trunk/test/Transforms/SampleProfile/profile-sample-accurate.llllvm.src/test/Transforms/SampleProfile/profile-sample-accurate.ll
Revision 372231 by gchatelet:
[Alignment][NFC] Remove LogAlignment functions

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67620
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineBasicBlock.h (diff)llvm.src/include/llvm/CodeGen/MachineBasicBlock.h
The file was modified/llvm/trunk/lib/CodeGen/BranchRelaxation.cpp (diff)llvm.src/lib/CodeGen/BranchRelaxation.cpp
The file was modified/llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp (diff)llvm.src/lib/CodeGen/MIRParser/MIParser.cpp
The file was modified/llvm/trunk/lib/CodeGen/MIRPrinter.cpp (diff)llvm.src/lib/CodeGen/MIRPrinter.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineBasicBlock.cpp (diff)llvm.src/lib/CodeGen/MachineBasicBlock.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp (diff)llvm.src/lib/CodeGen/MachineBlockPlacement.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cpp (diff)llvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBasicBlockInfo.cpp (diff)llvm.src/lib/Target/ARM/ARMBasicBlockInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMBasicBlockInfo.h (diff)llvm.src/lib/Target/ARM/ARMBasicBlockInfo.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMConstantIslandPass.cpp (diff)llvm.src/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonBranchRelaxation.cpp (diff)llvm.src/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonFixupHwLoops.cpp (diff)llvm.src/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsConstantIslandPass.cpp (diff)llvm.src/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCBranchSelector.cpp (diff)llvm.src/lib/Target/PowerPC/PPCBranchSelector.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZLongBranch.cpp (diff)llvm.src/lib/Target/SystemZ/SystemZLongBranch.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86RetpolineThunks.cpp (diff)llvm.src/lib/Target/X86/X86RetpolineThunks.cpp
Revision 372230 by gchatelet:
[Alignment][NFC] Use Align::None instead of 1

Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet

Subscribers: sdardis, nemanjai, hiraditya, kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67704
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/AsmPrinter.h (diff)llvm.src/include/llvm/CodeGen/AsmPrinter.h
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.h (diff)llvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineFrameInfo.cpp (diff)llvm.src/lib/CodeGen/MachineFrameInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsConstantIslandPass.cpp (diff)llvm.src/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpp (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp