aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorPierre-vh <pierre.vanhoutryve@arm.com>2020-04-08 11:55:09 +0100
committerPierre-vh <pierre.vanhoutryve@arm.com>2020-05-12 12:10:15 +0100
commit24bf8063d677f261f26d8771180cc08d51007a2e (patch)
tree0df9a1df9dc4408e9cfa9d57b4572bbc42dae675 /clang/lib/Frontend/CompilerInvocation.cpp
parentbf2183374a6740a033db1f824b0c6a6e0d2e7ee4 (diff)
downloadllvm-24bf8063d677f261f26d8771180cc08d51007a2e.zip
llvm-24bf8063d677f261f26d8771180cc08d51007a2e.tar.gz
llvm-24bf8063d677f261f26d8771180cc08d51007a2e.tar.bz2
[Target][ARM] Replace outdated getARMVPTBlockMask function
getARMVPTBlockMask was an outdated function that only handled basic block masks: T, TT, TTT and TTTT. This worked fine before the MVE VPT Block Insertion Pass improvements as it was the only kind of masks that it could generate, but now it can generate more complex masks that uses E predicates, so it's dangerous to use that function to calculate VPT/VPST block masks. I replaced it with 2 different functions: - expandPredBlockMask, in ARMBaseInfo. This adds an "E" or "T" at the end of an existing PredBlockMask. - recomputeVPTBlockMask, in Thumb2InstrInfo. This takes an iterator to a VPT/VPST instruction and recomputes its block mask by looking at the predicated instructions that follows it. This should be used to recompute a block mask after removing/adding a predicated instruction to the block. The expandPredBlockMask function is pretty much imported from the MVE VPT Blocks pass. I had to change the ARMLowOverheadLoops and MVEVPTBlocks passes as well so they could use these new functions. Differential Revision: https://reviews.llvm.org/D78201
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions