summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
diff options
context:
space:
mode:
authorMichael Kruse <llvm@meinersbur.de>2019-02-11 19:45:44 +0000
committerMichael Kruse <llvm@meinersbur.de>2019-02-11 19:45:44 +0000
commit77a614a6e154fe97d4eb8ea976d95f1aa44cdde2 (patch)
treeb855ffa6b3e1eebc2a363b98275b75c77a6fee10 /clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
parent6142bf2c514d29c7303d6c8fb090125ba37bacd0 (diff)
downloadbcm5719-llvm-77a614a6e154fe97d4eb8ea976d95f1aa44cdde2.tar.gz
bcm5719-llvm-77a614a6e154fe97d4eb8ea976d95f1aa44cdde2.zip
Refactor setAlreadyUnrolled() and setAlreadyVectorized().
Loop::setAlreadyUnrolled() and LoopVectorizeHints::setLoopAlreadyUnrolled() both add loop metadata that stops the same loop from being transformed multiple times. This patch merges both implementations. In doing so we fix 3 potential issues: * setLoopAlreadyUnrolled() kept the llvm.loop.vectorize/interleave.* metadata even though it will not be used anymore. This already caused problems such as http://llvm.org/PR40546. Change the behavior to the one of setAlreadyUnrolled which deletes this loop metadata. * setAlreadyUnrolled() used to create a new LoopID by calling MDNode::get with nullptr as the first operand, then replacing it by the returned references using replaceOperandWith. It is possible that MDNode::get would instead return an existing node (due to de-duplication) that then gets modified. To avoid, use a fresh TempMDNode that does not get uniqued with anything else before replacing it with replaceOperandWith. * LoopVectorizeHints::matchesHintMetadataName() only compares the suffix of the attribute to set the new value for. That is, when called with "enable", would erase attributes such as "llvm.loop.unroll.enable", "llvm.loop.vectorize.enable" and "llvm.loop.distribute.enable" instead of the one to replace. Fortunately, function was only called with "isvectorized". Differential Revision: https://reviews.llvm.org/D57566 llvm-svn: 353738
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud