llvm-project/llvm/lib
Jessica Paquette 4e54ef8883 [MachineOutliner][NFC] Add findRepeatedSubstrings to SuffixTree, kill LeafVector
Instead of iterating over the leaves to find repeated substrings, and walking
collecting leaf children when we don't necessarily need them, let's just
calculate what we need and iterate over that.

By doing this, we don't have to save every leaf. It's easier to read the code
too and understand what's going on.

The goal here, at the end of the day, is to set up to allow us to do something
like

for (RepeatedSubstring &RS : ST) {
 ... do stuff with RS ...
}

Which would let us perform the cost model stuff and the repeated substring
query at the same time.

llvm-svn: 346269
2018-11-06 21:46:41 +00:00
..
Analysis [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
AsmParser [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
BinaryFormat Revert r343317 2018-09-28 17:01:50 +00:00
Bitcode [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
CodeGen [MachineOutliner][NFC] Add findRepeatedSubstrings to SuffixTree, kill LeafVector 2018-11-06 21:46:41 +00:00
DebugInfo [DWARF] Support types CU list in .gdb_index dumping 2018-11-05 23:27:53 +00:00
Demangle Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
ExecutionEngine [ORC] Fix hex printing of uint64_t values. 2018-10-31 05:16:14 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
IRReader
LTO [ThinLTO] Add an option to disable (thin)lto internalization. 2018-11-05 15:49:46 +00:00
LineEditor
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [WebAssembly] Parsing missing directives to produce valid .o 2018-11-02 22:04:33 +00:00
Object [WebAssembly] Add shared memory support to limits field 2018-11-06 17:27:25 +00:00
ObjectYAML [WebAssembly] Add shared memory support to limits field 2018-11-06 17:27:25 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support Silence deprecation warning for GetVersionEx with clang-cl 2018-11-06 21:40:32 +00:00
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
Target AMDGPU: Add an option -disable-promote-alloca-to-lds 2018-11-06 21:28:17 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] Update XRayRecord to support Custom/Typed Events 2018-11-06 08:51:37 +00:00
CMakeLists.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
LLVMBuild.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00