#
5f8f34e4 |
| 01-May-2018 |
Adrian Prantl <aprantl@apple.com> |
Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of years now. This makes the \brief markers into our comments redundant. Since they ar
Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of years now. This makes the \brief markers into our comments redundant. Since they are a visual distraction and we don't want to encourage more \brief markers in new code either, this patch removes them all.
Patch produced by
for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
Differential Revision: https://reviews.llvm.org/D46290
llvm-svn: 331272
show more ...
|
Revision tags: llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3 |
|
#
983d6c3f |
| 23-Feb-2018 |
Bjorn Steinbrink <bsteinbr@gmail.com> |
Mark MergedLoadStoreMotion as not preserving MemDep results
Summary: MemDep caches results that signify that a dependence is non-local, and there is currently no way to invalidate such cache entries
Mark MergedLoadStoreMotion as not preserving MemDep results
Summary: MemDep caches results that signify that a dependence is non-local, and there is currently no way to invalidate such cache entries. Unfortunately, when MLSM sinks a store that can result in a non-local dependence becoming a local one, and then MemDep gives wrong answers. The easiest way out here is to just say that MLSM does indeed not preserve MemDep results.
Reviewers: davide, Gerolf
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D43177
llvm-svn: 325880
show more ...
|
Revision tags: llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
#
6af4f232 |
| 13-Dec-2017 |
Michael Zolotukhin <mzolotukhin@apple.com> |
Remove redundant includes from lib/Transforms.
llvm-svn: 320628
|
#
193429f0 |
| 07-Dec-2017 |
Alina Sbirlea <asbirlea@google.com> |
[ModRefInfo] Make enum ModRefInfo an enum class [NFC].
Summary: Make enum ModRefInfo an enum class. Changes to ModRefInfo values should be done using inline wrappers. This should prevent future bit-
[ModRefInfo] Make enum ModRefInfo an enum class [NFC].
Summary: Make enum ModRefInfo an enum class. Changes to ModRefInfo values should be done using inline wrappers. This should prevent future bit-wise opearations from being added, which can be more error-prone.
Reviewers: sanjoy, dberlin, hfinkel, george.burgess.iv
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D40933
llvm-svn: 320107
show more ...
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1 |
|
#
95d2347a |
| 09-Jul-2017 |
Craig Topper <craig.topper@intel.com> |
[IR] Make use of Type::isPtrOrPtrVectorTy/isIntOrIntVectorTy/isFPOrFPVectorTy to shorten code. NFC
llvm-svn: 307491
|
Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2 |
|
#
9d8f6f8a |
| 29-Jan-2017 |
Davide Italiano <davide@freebsd.org> |
Remove inclusion of SSAUpdater from several passes.
It is, in fact, unused. Found while reviewing Danny's new SSAUpdater and porting passes to it to see how the new API looked like.
llvm-svn: 293407
|
#
390dfde0 |
| 24-Jan-2017 |
Daniel Berlin <dberlin@dberlin.org> |
Remove the load hoisting code of MLSM, it is completely subsumed by GVNHoist
Summary: GVNHoist performs all the optimizations that MLSM does to loads, in a more general way, and in a faster time bou
Remove the load hoisting code of MLSM, it is completely subsumed by GVNHoist
Summary: GVNHoist performs all the optimizations that MLSM does to loads, in a more general way, and in a faster time bound (MLSM is N^3 in most cases, N^4 in a few edge cases).
This disables the load portion.
Note that the way ld_hoist_st_sink.ll is written makes one think that the loads should be moved to the while.preheader block, but
1. Neither MLSM nor GVNHoist do it (they both move them to identical places).
2. MLSM couldn't possibly do it anyway, as the while.preheader block is not the head of the diamond, while.body is. (GVNHoist could do it if it was legal).
3. At a glance, it's not legal anyway because the in-loop load conflict with the in-loop store, so the loads must stay in-loop.
I am happy to update the test to use update_test_checks so that checking is tighter, just was going to do it as a followup.
Note that i can find no particular benefit to the store portion on any real testcase/benchmark i have (even size-wise). If we really still want it, i am happy to commit to writing a targeted store sinker, just taking the code from the MemorySSA port of MergedLoadStoreMotion (which is N^2 worst case, and N most of the time).
We can do what it does in a much better time bound.
We also should be both hoisting and sinking stores, not just sinking them, anyway, since whether we should hoist or sink to merge depends basically on luck of the draw of where the blockers are placed.
Nonetheless, i have left it alone for now.
Reviewers: chandlerc, davide
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D29079
llvm-svn: 292971
show more ...
|
Revision tags: llvmorg-4.0.0-rc1 |
|
#
ca68a3ec |
| 15-Jan-2017 |
Chandler Carruth <chandlerc@gmail.com> |
[PM] Introduce an analysis set used to preserve all analyses over a function's CFG when that CFG is unchanged.
This allows transformation passes to simply claim they preserve the CFG and analysis pa
[PM] Introduce an analysis set used to preserve all analyses over a function's CFG when that CFG is unchanged.
This allows transformation passes to simply claim they preserve the CFG and analysis passes to check for the CFG being preserved to remove the fanout of all analyses being listed in all passes.
I've gone through and removed or cleaned up as many of the comments reminding us to do this as I could.
Differential Revision: https://reviews.llvm.org/D28627
llvm-svn: 292054
show more ...
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
8f1dd5c4 |
| 07-Sep-2016 |
Peter Collingbourne <peter@pcc.me.uk> |
IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags.
The two functions are functionally equivalent.
Differential Revision: https://reviews.llvm.org/
IR: Remove Value::intersectOptionalDataWith, replace all calls with calls to Instruction::andIRFlags.
The two functions are functionally equivalent.
Differential Revision: https://reviews.llvm.org/D22830
llvm-svn: 280884
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
36e0d01e |
| 09-Aug-2016 |
Sean Silva <chisophugis@gmail.com> |
Consistently use FunctionAnalysisManager
Besides a general consistently benefit, the extra layer of indirection allows the mechanical part of https://reviews.llvm.org/D23256 that requires touching e
Consistently use FunctionAnalysisManager
Besides a general consistently benefit, the extra layer of indirection allows the mechanical part of https://reviews.llvm.org/D23256 that requires touching every transformation and analysis to be factored out cleanly.
Thanks to David for the suggestion.
llvm-svn: 278077
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
15cf7b83 |
| 21-Jul-2016 |
David Majnemer <david.majnemer@gmail.com> |
[MergedLoadStoreMotion] Remove out of date comment
llvm-svn: 276239
|
#
4d09892e |
| 10-Jul-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Give helper classes/functions internal linkage. NFC.
llvm-svn: 275014
|
#
835facd8 |
| 28-Jun-2016 |
Michael Kuperstein <mkuper@google.com> |
[PM] Normalize FIXMEs for missing PreserveCFG to have the same wording.
llvm-svn: 273974
|
#
d7708773 |
| 24-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
Switch more loops to be range-based
This makes the code a little more concise, no functional change is intended.
llvm-svn: 273644
|
#
b49aa5c0 |
| 17-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM] Port MergedLoadStoreMotion to the new pass manager, take two.
This is indeed a much cleaner approach (thanks to Daniel Berlin for pointing out), and also David/Sean for review.
Differential Re
[PM] Port MergedLoadStoreMotion to the new pass manager, take two.
This is indeed a much cleaner approach (thanks to Daniel Berlin for pointing out), and also David/Sean for review.
Differential Revision: http://reviews.llvm.org/D21454
llvm-svn: 273032
show more ...
|
#
41315f78 |
| 16-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM] Revert the port of MergeLoadStoreMotion to the new pass manager.
Daniel Berlin expressed some real concerns about the port and proposed and alternative approach. I'll revert this for now while
[PM] Revert the port of MergeLoadStoreMotion to the new pass manager.
Daniel Berlin expressed some real concerns about the port and proposed and alternative approach. I'll revert this for now while working on a new patch, which I hope to put up for review shortly. Sorry for the churn.
llvm-svn: 272925
show more ...
|
#
66a9d07a |
| 14-Jun-2016 |
Chad Rosier <mcrosier@codeaurora.org> |
[MergedLoadStoreMotion] Before quering AA verify the loads are the same.
Basicaa stats show the number of queries in Spec2k6 are reduced by 4540 or ~.67% overall.
llvm-svn: 272661
|
#
3ab1b588 |
| 14-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM/MergedLoadStoreMotion] Preserve analyses more aggressively.
llvm-svn: 272611
|
#
89ab89d6 |
| 14-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM] Port MergedLoadStoreMotion to the new pass manager.
llvm-svn: 272606
|
#
86c1f953 |
| 13-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM/MergedLoadStoreMotion] Remove unneeded pass dependency.
llvm-svn: 272598
|
#
44faf7f4 |
| 13-Jun-2016 |
Davide Italiano <davide@freebsd.org> |
[PM/MergeLoadStoreMotion] Convert the logic to static functions.
Pass AliasAnalyis and MemoryDepResult around. This is in preparation for porting this pass to the new PM.
llvm-svn: 272595
|
#
9f8031c2 |
| 12-Jun-2016 |
Eli Friedman <eli.friedman@gmail.com> |
[MergedLoadStoreMotion] Use correct helper for load hoist safety.
It isn't legal to hoist a load past a call which might not return; even if it doesn't throw, it could, for example, call exit().
Fi
[MergedLoadStoreMotion] Use correct helper for load hoist safety.
It isn't legal to hoist a load past a call which might not return; even if it doesn't throw, it could, for example, call exit().
Fixes http://llvm.org/PR27953.
llvm-svn: 272495
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
47451257 |
| 26-May-2016 |
David Majnemer <david.majnemer@gmail.com> |
[MergedLoadStoreMotion] Don't transform across may-throw calls
It is unsafe to hoist a load before a function call which may throw, the throw might prevent a pointer dereference.
Likewise, it is un
[MergedLoadStoreMotion] Don't transform across may-throw calls
It is unsafe to hoist a load before a function call which may throw, the throw might prevent a pointer dereference.
Likewise, it is unsafe to sink a store after a call which may throw. The caller might be able to observe the difference.
This fixes PR27858.
llvm-svn: 270828
show more ...
|
#
8cce333a |
| 26-May-2016 |
David Majnemer <david.majnemer@gmail.com> |
[MergedLoadStoreMotion] Small cleanup
No functional change is intended.
llvm-svn: 270824
|
#
aa641a51 |
| 22-Apr-2016 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Re-commit optimization bisect support (r267022) without new pass manager support.
The original commit was reverted because of a buildbot problem with LazyCallGraph::SCC handling (not related to the
Re-commit optimization bisect support (r267022) without new pass manager support.
The original commit was reverted because of a buildbot problem with LazyCallGraph::SCC handling (not related to the OptBisect handling).
Differential Revision: http://reviews.llvm.org/D19172
llvm-svn: 267231
show more ...
|