[PATCH] D88609: Use uint64_t for branch weights instead of uint32_t

Arthur Eubanks via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 28 13:16:32 PDT 2020


aeubanks updated this revision to Diff 301409.
aeubanks added a comment.
Herald added subscribers: rdzhabarov, tatianashp, msifontes, jurahul, Kayjukh, grosul1, Joonsoo, stephenneuendorffer, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, rriddle, mehdi_amini.
Herald added a reviewer: aartbik.
Herald added a project: MLIR.

scale down weights by UINT32_MAX when sum of branch weights overflows uint64_t


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88609/new/

https://reviews.llvm.org/D88609

Files:
  clang/lib/CodeGen/CodeGenPGO.cpp
  clang/test/CodeGen/catch-undef-behavior.c
  clang/test/CodeGenCXX/attr-likelihood-if-branch-weights.cpp
  clang/test/CodeGenCXX/attr-likelihood-if-vs-builtin-expect.cpp
  clang/test/CodeGenCXX/attr-likelihood-switch-branch-weights.cpp
  clang/test/CodeGenCXX/microsoft-abi-thread-safe-statics.cpp
  clang/test/CodeGenCXX/profile-remap.cpp
  clang/test/CodeGenCXX/static-initializer-branch-weights.cpp
  clang/test/Profile/c-captured.c
  clang/test/Profile/c-counter-overflows.c
  clang/test/Profile/c-general.c
  clang/test/Profile/cxx-class.cpp
  clang/test/Profile/cxx-lambda.cpp
  clang/test/Profile/cxx-rangefor.cpp
  clang/test/Profile/cxx-templates.cpp
  clang/test/Profile/cxx-throws.cpp
  clang/test/Profile/gcc-flag-compatibility.c
  clang/test/Profile/objc-general.m
  compiler-rt/test/profile/Inputs/comdat_rename_1.cpp
  compiler-rt/test/profile/Inputs/comdat_rename_2.cpp
  compiler-rt/test/profile/Linux/instrprof-basic.c
  compiler-rt/test/profile/Linux/instrprof-cs.c
  compiler-rt/test/profile/instrprof-basic.c
  compiler-rt/test/profile/instrprof-dump.c
  compiler-rt/test/profile/instrprof-hostname.c
  compiler-rt/test/profile/instrprof-override-filename-then-reset-default.c
  compiler-rt/test/profile/instrprof-override-filename-with-env.c
  compiler-rt/test/profile/instrprof-override-filename.c
  compiler-rt/test/profile/instrprof-reset-counters.c
  compiler-rt/test/profile/instrprof-set-filename-then-reset-default.c
  compiler-rt/test/profile/instrprof-set-filename.c
  compiler-rt/test/profile/instrprof-without-libc.c
  compiler-rt/test/profile/instrprof-write-file-atexit-explicitly.c
  compiler-rt/test/profile/instrprof-write-file-only.c
  compiler-rt/test/profile/instrprof-write-file.c
  llvm/include/llvm/IR/Instructions.h
  llvm/include/llvm/IR/MDBuilder.h
  llvm/include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
  llvm/include/llvm/Transforms/Utils/MisExpect.h
  llvm/lib/Analysis/BranchProbabilityInfo.cpp
  llvm/lib/IR/Instructions.cpp
  llvm/lib/IR/MDBuilder.cpp
  llvm/lib/Transforms/IPO/SampleProfile.cpp
  llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
  llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  llvm/lib/Transforms/Scalar/JumpThreading.cpp
  llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  llvm/lib/Transforms/Utils/CodeExtractor.cpp
  llvm/lib/Transforms/Utils/Local.cpp
  llvm/lib/Transforms/Utils/MisExpect.cpp
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  llvm/test/Analysis/BranchProbabilityInfo/basic.ll
  llvm/test/Analysis/BranchProbabilityInfo/basic_i32.ll
  llvm/test/Analysis/BranchProbabilityInfo/branch-large-weights.ll
  llvm/test/Instrumentation/AddressSanitizer/basic.ll
  llvm/test/Transforms/CodeExtractor/MultipleExitBranchProb.ll
  llvm/test/Transforms/CorrelatedValuePropagation/profmd.ll
  llvm/test/Transforms/JumpThreading/threading_prof1.ll
  llvm/test/Transforms/JumpThreading/threading_prof2.ll
  llvm/test/Transforms/JumpThreading/update-edge-weight.ll
  llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll
  llvm/test/Transforms/LoopUnroll/peel-loop-pgo.ll
  llvm/test/Transforms/LoopUnroll/runtime-loop-branchweight.ll
  llvm/test/Transforms/LoopVectorize/check-prof-info.ll
  llvm/test/Transforms/LoopVectorize/tripcount.ll
  llvm/test/Transforms/LowerExpectIntrinsic/basic.ll
  llvm/test/Transforms/LowerExpectIntrinsic/expect-with-probability.ll
  llvm/test/Transforms/LowerExpectIntrinsic/expect_nonboolean.ll
  llvm/test/Transforms/LowerExpectIntrinsic/phi_merge.ll
  llvm/test/Transforms/LowerExpectIntrinsic/phi_or.ll
  llvm/test/Transforms/LowerExpectIntrinsic/phi_tern.ll
  llvm/test/Transforms/PGOProfile/branch1.ll
  llvm/test/Transforms/PGOProfile/branch2.ll
  llvm/test/Transforms/PGOProfile/chr.ll
  llvm/test/Transforms/PGOProfile/criticaledge.ll
  llvm/test/Transforms/PGOProfile/cspgo_profile_summary.ll
  llvm/test/Transforms/PGOProfile/fix_entry_count.ll
  llvm/test/Transforms/PGOProfile/icp_covariant_call_return.ll
  llvm/test/Transforms/PGOProfile/icp_covariant_invoke_return.ll
  llvm/test/Transforms/PGOProfile/icp_invoke.ll
  llvm/test/Transforms/PGOProfile/icp_vararg.ll
  llvm/test/Transforms/PGOProfile/indirect_call_promotion.ll
  llvm/test/Transforms/PGOProfile/indirect_call_promotion_musttail.ll
  llvm/test/Transforms/PGOProfile/indirect_call_promotion_vla.ll
  llvm/test/Transforms/PGOProfile/indirectbr.ll
  llvm/test/Transforms/PGOProfile/instr_entry_bb.ll
  llvm/test/Transforms/PGOProfile/landingpad.ll
  llvm/test/Transforms/PGOProfile/loop1.ll
  llvm/test/Transforms/PGOProfile/loop2.ll
  llvm/test/Transforms/PGOProfile/memop_size_opt.ll
  llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
  llvm/test/Transforms/PGOProfile/noreturncall.ll
  llvm/test/Transforms/PGOProfile/remap.ll
  llvm/test/Transforms/PGOProfile/select1.ll
  llvm/test/Transforms/PGOProfile/select2.ll
  llvm/test/Transforms/PGOProfile/switch.ll
  llvm/test/Transforms/PGOProfile/thinlto_cspgo_use.ll
  llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
  llvm/test/Transforms/SCCP/switch.ll
  llvm/test/Transforms/SampleProfile/entry_counts_cold.ll
  llvm/test/Transforms/SampleProfile/indirect-call.ll
  llvm/test/Transforms/SampleProfile/inline-mergeprof-dup.ll
  llvm/test/Transforms/SampleProfile/inline-mergeprof.ll
  llvm/test/Transforms/SampleProfile/profile-format-compress.ll
  llvm/test/Transforms/SampleProfile/profile-format.ll
  llvm/test/Transforms/SimpleLoopUnswitch/basictest-profmd.ll
  llvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-profmd.ll
  llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll
  llvm/test/Transforms/SimplifyCFG/preserve-branchweights-switch-create.ll
  llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
  llvm/test/Transforms/SimplifyCFG/switch-profmd.ll
  llvm/test/Transforms/Util/libcalls-shrinkwrap-double.ll
  llvm/test/Transforms/Util/libcalls-shrinkwrap-float.ll
  llvm/test/Transforms/Util/libcalls-shrinkwrap-long-double.ll
  llvm/unittests/Analysis/ProfileSummaryInfoTest.cpp
  mlir/test/Target/llvmir.mlir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88609.301409.patch
Type: text/x-patch
Size: 120412 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201028/90cf383c/attachment-0001.bin>


More information about the cfe-commits mailing list