llvm-project/llvm/lib
Max Kazantsev 7b83a1438f [GuardWidening] Improve analysis of potential widening into hotter block, try 2
The initial version was reverted because it looped infinitely if the likely successor
isn't properly dominated by the predecessor. In practice it means that we went up the
CFG through backedge and looped infinitely.

I also added some paranoid assertion checks to make sure that every other invariant
holds. I also found a hypothetical situation when we may go past the dominated block
while following the likely successors (it means that in fact the dominated block is
dynamically not reachable from dominating block) and explicitly prohibited this, though
I don't have a motivating test showing that it's a real problem.

https://reviews.llvm.org/D146276
2023-03-22 15:15:26 +07:00
..
Analysis [llvm] Use ConstantInt::{isZero,isOne} (NFC) 2023-03-21 17:40:35 -07:00
AsmParser Revert "[AsmParser] Avoid instantiating LLVMContext if not needed. NFC" 2023-03-20 15:07:33 +07:00
BinaryFormat [TextAPI] Add support for TBDv5 Files to nm & tapi-diff 2023-02-22 19:39:26 -08:00
Bitcode [ConstExpr] Remove select constant expression 2023-03-16 10:32:08 +01:00
Bitstream
CodeGen [llvm] Use llvm::isNullConstant (NFC) 2023-03-22 00:31:48 -07:00
DebugInfo [CodeView] Add source languages ObjC and ObjC++ 2023-03-17 17:09:31 +01:00
Debuginfod [Debuginfod] Prune cache after fetch. 2023-03-10 12:12:44 -08:00
Demangle
DWARFLinker [DWARFLinker][DWARFv5] add support for DW_FORM_implicit_const form. 2023-03-15 16:25:44 +01:00
DWARFLinkerParallel
DWP
ExecutionEngine Re-apply "[JITLink][ELF] Don't skip debug info sections by default." 2023-03-20 22:24:04 +00:00
Extensions
FileCheck [llvm] Use *{Set,Map}::contains (NFC) 2023-03-14 18:56:07 -07:00
Frontend [MLIR][OpenMP] Added OMPIRBuilder support for Target Data directives 2023-03-20 18:48:21 +00:00
Fuzzer
FuzzMutate
InterfaceStub
IR [llvm] Use ConstantInt::{isZero,isOne} (NFC) 2023-03-21 17:40:35 -07:00
IRPrinter
IRReader
LineEditor
Linker [IRLinker] Fix mapping of declaration metadata 2023-03-14 08:42:44 +09:00
LTO [llvm] Use *{Map,Set}::contains (NFC) 2023-03-15 18:06:32 -07:00
MC [MCContext] Use const Twine & in symbol creation methods. NFC 2023-03-21 23:13:59 -07:00
MCA [llvm] Use *{Set,Map}::contains (NFC) 2023-03-14 18:56:07 -07:00
ObjCopy
Object [NFC] Change strcpy to std::copy 2023-03-21 09:44:23 +01:00
ObjectYAML [ADT][NFCI] Do not use non-const lvalue-refs with enumerate in llvm/ 2023-03-13 20:59:06 -04:00
Option Replace strlen with StringRef::size 2023-03-20 14:18:51 -07:00
Passes [CGSCC] Allow creation of no-rerun CGSCC->function adaptor via textual pipeline 2023-03-19 16:26:27 -07:00
ProfileData [memprof] Support symbolization of PIE binaries. 2023-03-21 20:13:18 +00:00
Remarks
Support [RISCV] Simplify RISCVISAInfo::compareExtension. NFCI 2023-03-20 22:25:11 -07:00
TableGen TableGen: Introduce llvm::TableGen::Emitter to register backends 2023-03-21 16:21:27 +09:00
Target [llvm] Use llvm::isNullConstant (NFC) 2023-03-22 00:31:48 -07:00
TargetParser [ARM][NFC] Use FPUKind enum instead of unsigned 2023-03-16 13:38:10 +00:00
Testing Add install targets for gtest 2023-03-10 17:22:33 -08:00
TextAPI [TextAPI] Use const auto& in foreach loop to avoid pass-by-value static analyzer warnings. NFCI. 2023-02-26 15:43:03 +00:00
ToolDrivers [llvm-lib] 'llvm-lib' currently cannot generate an import library from a Windows 2023-03-01 20:32:35 -08:00
Transforms [GuardWidening] Improve analysis of potential widening into hotter block, try 2 2023-03-22 15:15:26 +07:00
WindowsDriver MSVC: support version preference with search 2023-03-13 09:25:31 -07:00
WindowsManifest
XRay
CMakeLists.txt