[PATCH] D37289: [X86] Speculatively load operands of select instruction
Lama via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 30 01:26:16 PDT 2017
lsaba created this revision.
Herald added a subscriber: mgorny.
For a select instruction where the operands are address calculations of two independent loads, the pass tries to speculate the loads and feed them into the select instruction, this allows early parallel execution of the loads and possibly memory folding into the CMOV instructions later on.
The pass currently only handles cases where the loads are elements of the same struct.
Repository:
rL LLVM
https://reviews.llvm.org/D37289
Files:
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/Target/X86/CMakeLists.txt
lib/Target/X86/X86.h
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86SpeculateSelectLoad.cpp
lib/Target/X86/X86TargetMachine.cpp
lib/Target/X86/X86TargetTransformInfo.cpp
lib/Target/X86/X86TargetTransformInfo.h
test/CodeGen/X86/speculate-select-load.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37289.113204.patch
Type: text/x-patch
Size: 13811 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170830/44188590/attachment.bin>
More information about the llvm-commits
mailing list