Revision
302613
by zturner:
[Core] Make parallel algorithms match C++ Parallelism TS. Differential Revision: https://reviews.llvm.org/D33016 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /lld/trunk/COFF/ICF.cpp (diff) | llvm-revision.src/lld/trunk/COFF/ICF.cpp |
 | /lld/trunk/COFF/MapFile.cpp (diff) | llvm-revision.src/lld/trunk/COFF/MapFile.cpp |
 | /lld/trunk/COFF/Writer.cpp (diff) | llvm-revision.src/lld/trunk/COFF/Writer.cpp |
 | /lld/trunk/ELF/Threads.h (diff) | llvm-revision.src/lld/trunk/ELF/Threads.h |
 | /lld/trunk/include/lld/Core/Parallel.h (diff) | llvm-revision.src/lld/trunk/include/lld/Core/Parallel.h |
 | /lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp (diff) | llvm-revision.src/lld/trunk/lib/ReaderWriter/MachO/LayoutPass.cpp |
 | /lld/trunk/unittests/CoreTests/ParallelTest.cpp (diff) | llvm-revision.src/lld/trunk/unittests/CoreTests/ParallelTest.cpp |
Revision
302612
by ab:
[CodeGen] Don't require AA in TwoAddress at -O0. This is a follow-up to r302611, which moved an -O0 computation of DT from SDAGISel to TwoAddress. Don't use it here either, and avoid computing it completely. The only use was forwarding the analysis as an optional argument to utility functions. Differential Revision: https://reviews.llvm.org/D32766 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/TwoAddressInstructionPass.cpp |
 | /llvm/trunk/test/CodeGen/X86/O0-pipeline.ll (diff) | llvm-revision.src/llvm/trunk/test/CodeGen/X86/O0-pipeline.ll |
Revision
302611
by ab:
[CodeGen] Don't require AA in SDAGISel at -O0. Before r247167, the pass manager builder controlled which AA implementations were used, exporting them all in the AliasAnalysis analysis group. Now, AAResultsWrapperPass always uses BasicAA, but still uses other AA implementations if made available in the pass pipeline. But regardless, SDAGISel is required at O0, and really doesn't need to be doing fancy optimizations based on useful AA results. Don't require AA at CodeGenOpt::None, and only use it otherwise. This does have a functional impact (and one testcase is pessimized because we can't reuse a load). But I think that's desirable no matter what. Note that this alone doesn't result in less DT computations: TwoAddress was previously able to reuse the DT we computed for SDAG. That will be fixed separately. Differential Revision: https://reviews.llvm.org/D32766 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/CodeGen/SelectionDAG.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/CodeGen/SelectionDAG.h |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
 | /llvm/trunk/test/CodeGen/X86/O0-pipeline.ll (diff) | llvm-revision.src/llvm/trunk/test/CodeGen/X86/O0-pipeline.ll |
 | /llvm/trunk/test/CodeGen/X86/pr32284.ll (diff) | llvm-revision.src/llvm/trunk/test/CodeGen/X86/pr32284.ll |
Revision
302610
by ab:
[CodeGen] Compute DT/LI lazily in SafeStackLegacyPass. NFC. We currently require SCEV, which requires DT/LI. Those are expensive to compute, but the pass only runs for functions that have the safestack attribute. Compute DT/LI to build SCEV lazily, only when the pass is actually going to transform the function. Differential Revision: https://reviews.llvm.org/D31302 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/SafeStack.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SafeStack.cpp |
 | /llvm/trunk/test/CodeGen/X86/O0-pipeline.ll (diff) | llvm-revision.src/llvm/trunk/test/CodeGen/X86/O0-pipeline.ll |
Revision
302609
by ab:
[CodeGen] Split SafeStack into a LegacyPass and a utility. NFC. This lets the pass focus on gathering the required analyzes, and the utility class focus on the transformation. Differential Revision: https://reviews.llvm.org/D31303 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/InitializePasses.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/InitializePasses.h |
 | /llvm/trunk/lib/CodeGen/CodeGen.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/CodeGen.cpp |
 | /llvm/trunk/lib/CodeGen/SafeStack.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SafeStack.cpp |
 | /llvm/trunk/tools/opt/opt.cpp (diff) | llvm-revision.src/llvm/trunk/tools/opt/opt.cpp |
Revision
302608
by ab:
[CodeGen] Add an -O0 backend pipeline test. NFC. This should hopefully makes changes to the O0 pipeline obvious; it's easy to require expensive passes, and this helps make informed decisions. Case in point: in the few weeks separating the time when I initially wrote this patch to the time when I committed, the test regressed as r302103 added another use of DT! |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/CodeGen/X86/O0-pipeline.ll | llvm-revision.src/llvm/trunk/test/CodeGen/X86/O0-pipeline.ll |
Revision
302607
by ericwf:
Improve how LIT reports the added environment variables |
Change Type | Path in Repository | Path in Workspace |
---|
 | /libcxx/trunk/utils/libcxx/test/config.py (diff) | llvm-revision.src/libcxx/trunk/utils/libcxx/test/config.py |