llvm-project/llvm/lib
Stanislav Mekhanoshin 37e7f959c0 [AMDGPU] Collapse adjacent SI_END_CF
Add a pass to remove redundant S_OR_B64 instructions enabling lanes in
the exec. If two SI_END_CF (lowered as S_OR_B64) come together without any
vector instructions between them we can only keep outer SI_END_CF, given
that CFG is structured and exec bits of the outer end statement are always
not less than exec bit of the inner one.

This needs to be done before the RA to eliminate saved exec bits registers
but after register coalescer to have no vector registers copies in between
of different end cf statements.

Differential Revision: https://reviews.llvm.org/D35967

llvm-svn: 309762
2017-08-01 23:14:32 +00:00
..
Analysis [SCEV/IndVars] Always compute loop exiting values if the backedge count is 0 2017-08-01 22:37:58 +00:00
AsmParser Debug Info: Add a file: field to DIImportedEntity. 2017-07-19 00:09:54 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode ThinLTO Minimized Bitcode File Size Reduction 2017-07-21 17:25:20 +00:00
CodeGen Use helper function instead of manually constructing DBG_VALUEs (NFC) 2017-08-01 22:37:35 +00:00
DebugInfo [DebugInfo] Use shrink_to_fit to simplify code. NFCI. 2017-08-01 14:38:08 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine RuntimeDyldELF.cpp: Prune unused "TargetRegistry.h" 2017-07-23 11:47:22 +00:00
Fuzzer [libFuzzer] temporarty remove pc-tables and disable test/fuzzer-printcovpcs.test until this can be fixed on Windows 2017-08-01 18:02:19 +00:00
IR Remove PrologEpilogInserter's usage of DBG_VALUE's offset field 2017-08-01 21:45:24 +00:00
IRReader
LTO LTO: Export functions referenced by the CFI jump table. 2017-07-19 18:18:19 +00:00
LineEditor
Linker [Linker] Add directives to support mixing ARM/Thumb module-level inline asm. 2017-07-12 11:52:28 +00:00
MC MC: simplify internal function call parameter 2017-07-29 20:03:02 +00:00
Object [llvm-dlltool] Write correct weak externals 2017-07-31 11:18:41 +00:00
ObjectYAML [yaml2obj][ELF] Add support for program headers 2017-07-19 20:38:46 +00:00
Option [Bash-autocompletion] Show HelpText with possible flags 2017-07-26 13:36:58 +00:00
Passes Refactor the build{Module|Function}SimplificationPipeline to expose optimization phase. 2017-07-30 04:55:39 +00:00
ProfileData [llvm-cov] Allow specifying distinct architectures for each loaded binary 2017-08-01 21:23:26 +00:00
Support [Support/GlobPattern] - Do not crash when pattern has characters with int value < 0. 2017-07-31 09:26:50 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target [AMDGPU] Collapse adjacent SI_END_CF 2017-08-01 23:14:32 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms [Value Tracking] Default argument to true and rename accordingly. NFC. 2017-08-01 20:18:54 +00:00
WindowsManifest Unlink nodes instead of copying, to avoid memory problems. 2017-07-26 18:33:21 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00
LLVMBuild.txt Move manifest utils into separate lib, to reduce libxml2 deps. 2017-07-26 01:21:55 +00:00