[all-commits] [llvm/llvm-project] 7fff1f: [MIRVRegNamer] Experimental MachineInstr stable ha...
Puyan Lotfi via All-commits
all-commits at lists.llvm.org
Thu Sep 3 13:13:30 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 7fff1fbd3ce1c069aff0f475e896d50a39deb1ac
https://github.com/llvm/llvm-project/commit/7fff1fbd3ce1c069aff0f475e896d50a39deb1ac
Author: Puyan Lotfi <puyan at puyan.org>
Date: 2020-09-03 (Thu, 03 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOperand.h
A llvm/include/llvm/CodeGen/MachineStableHash.h
A llvm/include/llvm/CodeGen/StableHashing.h
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
A llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/test/CodeGen/MIR/AArch64/addrspace-memoperands.mir
M llvm/test/CodeGen/MIR/AArch64/mir-canon-constant-pool-hash.mir
M llvm/test/CodeGen/MIR/AArch64/mir-canon-jump-table.mir
M llvm/test/CodeGen/MIR/AArch64/mirCanonCopyCopyProp.mir
M llvm/test/CodeGen/MIR/AArch64/mirCanonIdempotent.mir
M llvm/test/CodeGen/MIR/AArch64/mirnamer.mir
M llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir
M llvm/test/CodeGen/MIR/AMDGPU/mircanon-memoperands.mir
M llvm/test/CodeGen/MIR/AMDGPU/parse-order-reserved-regs.mir
M llvm/test/CodeGen/MIR/Generic/CFPImmMIRCanonHash.mir
M llvm/test/CodeGen/MIR/X86/mir-canon-hash-bb.mir
M llvm/test/CodeGen/MIR/X86/mir-namer-hash-frameindex.mir
M llvm/test/CodeGen/MIR/X86/mircanon-flags.mir
Log Message:
-----------
[MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo)
This hashing scheme has been useful out of tree, and I want to start
experimenting with it. Specifically I want to experiment on the
MIRVRegNamer, MIRCanononicalizer, and eventually the MachineOutliner.
This diff is a first step, that optionally brings stable hashing to the
MIRVRegNamer (and as a result, the MIRCanonicalizer). We've tested this
hashing scheme on a lot of MachineOperand types that llvm::hash_value
can not handle in a stable manner.
This stable hashing was also the basis for
"Global Machine Outliner for ThinLTO" in EuroLLVM 2020
http://llvm.org/devmtg/2020-04/talks.html#TechTalk_58
Credits: Kyungwoo Lee, Nikolai Tillmann
Differential Revision: https://reviews.llvm.org/D86952
More information about the All-commits
mailing list