aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopVersioning.cpp
diff options
context:
space:
mode:
authorJoao Moreira <joao.moreira@intel.com>2020-08-03 10:26:31 -0700
committerCraig Topper <craig.topper@intel.com>2020-08-03 10:47:23 -0700
commitf208c659fb76b1ad8ae83dd10c4f0c30986d48ee (patch)
tree5e7c9f0657396b57a0ccd729c70836903a62256a /llvm/lib/Transforms/Utils/LoopVersioning.cpp
parent219f32f4b68679563443cdaae7b8174c9976409a (diff)
downloadllvm-f208c659fb76b1ad8ae83dd10c4f0c30986d48ee.zip
llvm-f208c659fb76b1ad8ae83dd10c4f0c30986d48ee.tar.gz
llvm-f208c659fb76b1ad8ae83dd10c4f0c30986d48ee.tar.bz2
[X86] Make ENDBR instruction a scheduling boundary
Instructions should not be scheduled across ENDBR instructions, as this would result in the ENDBR being displaced, breaking the parity needed for the Indirect Branch Tracking feature of CET. Currently, the X86IndirectBranchTracking pass is later than the instruction scheduling in the pipeline, what causes the bug to be unnoticeable and very hard (if not unfeasible) to be triggered while compiling C files with the standard LLVM setup. Yet, for correctness and to prevent issues in future changes, the compiler should prevent the such scheduling. Differential Revision: https://reviews.llvm.org/D84862
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions