llvm-mirror/test/CodeGen/MIR/AArch64
Puyan Lotfi de3532220a [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
2020-09-03 16:13:09 -04:00
..
addrspace-memoperands.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
atomic-memoperands.mir
cfi.mir
empty-MF.mir
expected-target-flag-name.mir
function-info-noredzone-present.mir
generic-virtual-registers-error.mir
generic-virtual-registers-with-regbank-error.mir
intrinsics.mir
invalid-target-flag-name.mir
invalid-target-memoperands.mir
lit.local.cfg
mir-canon-constant-pool-hash.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
mir-canon-jump-table.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
mirCanonCopyCopyProp.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
mirCanonIdempotent.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
mirnamer.mir [MIRVRegNamer] Experimental MachineInstr stable hashing (Fowler-Noll-Vo) 2020-09-03 16:13:09 -04:00
multiple-lhs-operands.mir
namedvregs.mir
parse-low-level-type-invalid0.mir
parse-low-level-type-invalid1.mir
parse-low-level-type-invalid2.mir
parse-low-level-type-invalid3.mir
parse-low-level-type-invalid4.mir
parse-low-level-type-invalid5.mir
parse-low-level-type-invalid6.mir
parse-low-level-type-invalid7.mir
parse-low-level-type-invalid8.mir
parse-low-level-type-invalid9.mir
parse-low-level-type-invalid10.mir
parse-shufflemask-invalid0.mir
parse-shufflemask-invalid1.mir
parse-shufflemask-invalid2.mir
parse-shufflemask-invalid3.mir
parse-shufflemask.mir
print-parse-overloaded-intrinsics.mir
print-parse-vector-of-pointers-llt.mir
print-parse-verify-failedISel-property.mir
register-operand-bank.mir
return-address-signing.mir
stack-object-local-offset.mir
swp.mir
target-flags.mir
target-memoperands.mir