llvm-project/llvm/unittests
Nikita Popov f96428e16d [MemorySSA] Don't optimize uses during construction
This changes MemorySSA to be constructed in unoptimized form.
MemorySSA::ensureOptimizedUses() can be called to optimize all
uses (once). This should be done by passes where having optimized
uses is beneficial, either because we're going to query all uses
anyway, or because we're doing def-use walks.

This should help reduce the compile-time impact of MemorySSA for
some use cases (the reason why I started looking into this is
D117926), which can avoid optimizing all uses upfront, and instead
only optimize those that are actually queried.

Actually, we have an existing use-case for this, which is EarlyCSE.
Disabling eager use optimization there gives a significant
compile-time improvement, because EarlyCSE will generally only query
clobbers for a subset of all uses (this change is not included in
this patch).

Differential Revision: https://reviews.llvm.org/D121381
2022-03-18 09:56:16 +01:00
..
ADT [ADT] Make BitmaskEnum operations constant expressions 2022-03-11 11:11:55 +01:00
Analysis [MemorySSA] Don't optimize uses during construction 2022-03-18 09:56:16 +01:00
AsmParser [AsmParserTest] Avoid pointer element type accesses (NFC) 2022-01-25 14:31:51 +01:00
BinaryFormat [AIX] identify big archive magic as archive. 2022-01-19 12:18:45 -05:00
Bitcode [X86][MS] Change the alignment of f80 to 16 bytes on Windows 32bits to match with ICC 2022-01-23 09:58:46 +08:00
Bitstream PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
CodeGen [Codegen][tablgen][NFC] Allow meta instruction to be target dependent 2022-03-18 13:09:01 +08:00
DebugInfo Cleanup llvm/DebugInfo/PDB headers 2022-02-23 10:31:34 +01:00
Debuginfod [Debuginfod] [Symbolizer] Break debuginfod out of libLLVM. 2022-02-08 19:14:18 +00:00
Demangle [demangler] Improve buffer hysteresis 2022-03-01 04:37:24 -08:00
ExecutionEngine Cleanup LLVMObject headers 2022-02-10 21:13:44 +01:00
FileCheck Bump googletest to 1.10.0 2021-05-14 19:16:31 +02:00
Frontend Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
FuzzMutate Revert "[FuzzMutate] Don't insert instructions after musttail call" 2022-03-16 17:29:27 +01:00
IR [VP] Strided loads/stores 2022-03-10 18:46:54 +01:00
InterfaceStub [ifs][elfabi] Merge llvm-ifs/elfabi tools 2021-07-19 11:23:19 -07:00
LineEditor
Linker [RGT] Recode more unreachable assertions and tautologies 2021-03-19 09:17:22 -07:00
MC Cleanup includes: LLVMTarget 2022-03-10 10:00:29 +01:00
MI Move TargetRegistry.(h|cpp) from Support to MC 2021-10-08 14:51:48 -07:00
MIR [X86] Set Int_MemBarrier as a meta-instruction 2022-03-18 13:12:28 +08:00
ObjCopy Fix for buildbot failure: https://lab.llvm.org/buildbot#builders/110/builds/11051 2022-03-09 14:26:46 +03:00
Object [LoongArch 2/6] Add ELF machine flag and relocs for upcoming LoongArch target 2022-02-10 10:23:34 +00:00
ObjectYAML
Option [OptTable] Reapply Improve error message output for grouped short options 2021-09-03 11:13:52 +01:00
Passes Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
ProfileData Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
Remarks Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
Support [VFS] Add print/dump to the whole FileSystem hierarchy 2022-03-17 13:02:40 -07:00
TableGen [TableGen] Add a library-based entry point for parsing td files 2022-03-03 16:14:03 -08:00
Target Cleanup includes: DebugInfo & CodeGen 2022-03-12 17:26:40 +01:00
Testing Testing: Make TempFile safe to move; test Temp{Dir,File,Link} 2022-03-01 13:45:51 -08:00
TextAPI Replace PlatformKind with PlatformType. 2022-01-13 09:23:49 -08:00
Transforms Cleanup includes: TransformsUtils 2022-03-01 21:00:07 +01:00
XRay Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
tools Cleanup include: DebugInfo/Symbolize 2022-02-24 13:25:11 +01:00
CMakeLists.txt Testing: Make TempFile safe to move; test Temp{Dir,File,Link} 2022-03-01 13:45:51 -08:00
unittest.cfg.in