teak-llvm/llvm/lib/IR
Craig Topper 81fe1fbf4a [X86][AutoUpgrade] Make some tweaks to reduce the number of nested if/else in the intrinsic upgrade code to avoid an MSVC compiler limit.
MSVC has a nesting limit of around 110-130. An if/else if/else if counts against this next level. The autoupgrade code consists a long chain of these checking matches against strings.

This commit moves some code to a helper function to move out a large if/else chain that was inside of one of the blocks into a separate function. There are more of these we could move or we could change some to lookup tables.

I've also merged together a few similar blocks in the outer chain. This should buy us some margin for a little bit.

llvm-svn: 350564
2019-01-07 20:13:45 +00:00
..
AsmWriter.cpp [CallSite removal] Move the rest of IR implementation code away from 2019-01-07 07:31:49 +00:00
AttributeImpl.h
Attributes.cpp [Inliner] Modify the merging of min-legal-vector-width attribute to better handle when the caller or callee don't have the attribute. 2018-11-29 07:27:38 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp [X86][AutoUpgrade] Make some tweaks to reduce the number of nested if/else in the intrinsic upgrade code to avoid an MSVC compiler limit. 2019-01-07 20:13:45 +00:00
BasicBlock.cpp [IR] Add Instruction::isLifetimeStartOrEnd, NFC 2018-12-21 21:49:40 +00:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp Revert patches 348835 and 348571 because they're 2019-01-04 16:39:10 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp [ConstantInt] Check active bits before calling getZExtValue. 2018-12-12 02:22:12 +00:00
ConstantsContext.h [IR] Add a dedicated FNeg IR Instruction 2018-11-13 18:15:47 +00:00
Core.cpp [CallSite removal] Move the rest of IR implementation code away from 2019-01-07 07:31:49 +00:00
DataLayout.cpp [BasicAA] Support arbitrary pointer sizes (and fix an overflow bug) 2019-01-02 16:28:09 +00:00
DebugInfo.cpp llvm-dwarfdump: Improve/fix pretty printing of array dimensions 2018-12-19 19:34:24 +00:00
DebugInfoMetadata.cpp [llvm] API for encoding/decoding DWARF discriminators. 2018-12-21 22:48:50 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp Add vtable anchor to classes. 2018-12-29 02:02:13 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp [DebugInfo] DISubprogram flags get their own flags word. NFC. 2018-11-19 18:29:28 +00:00
Dominators.cpp
DomTreeUpdater.cpp
Function.cpp [CallSite removal] Move the rest of IR implementation code away from 2019-01-07 07:31:49 +00:00
Globals.cpp [IR] Allow increasing the alignment of dso-local globals. 2018-10-31 23:03:58 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [IR] Add Instruction::isLifetimeStartOrEnd, NFC 2018-12-21 21:49:40 +00:00
Instructions.cpp [CallSite removal] Port IndirectCallSiteVisitor to use CallBase and 2019-01-07 07:15:51 +00:00
IntrinsicInst.cpp [FPEnv] Add constrained CEIL/FLOOR/ROUND/TRUNC intrinsics 2018-11-05 15:59:49 +00:00
IRBuilder.cpp
IRPrintingPasses.cpp Print newline after banner for ModulePass 2018-11-14 10:05:28 +00:00
LegacyPassManager.cpp
LLVMBuild.txt
LLVMContext.cpp Introduce llvm.loop.parallel_accesses and llvm.access.group metadata. 2018-12-20 04:58:07 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h [DebugInfo] DISubprogram flags get their own flags word. NFC. 2018-11-19 18:29:28 +00:00
Mangler.cpp
MDBuilder.cpp
Metadata.cpp Use llvm::copy. NFC 2018-11-17 01:44:25 +00:00
MetadataImpl.h
Module.cpp Extend Module::getOrInsertGlobal to control the construction of the 2019-01-02 15:41:47 +00:00
ModuleSummaryIndex.cpp [ThinLTO] Fix comment. NFC 2018-11-19 14:19:37 +00:00
Operator.cpp
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp [NewPM] fixing asserts on deleted loop in -print-after-all 2018-12-11 19:05:35 +00:00
ProfileSummary.cpp
SafepointIRVerifier.cpp Use llvm::any_of instead std::any_of. NFC 2018-10-31 00:31:06 +00:00
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp [CallSite removal] Move the rest of IR implementation code away from 2019-01-07 07:31:49 +00:00
ValueSymbolTable.cpp
Verifier.cpp [CallSite removal] Move the verifier to use CallBase instead of the 2019-01-07 07:02:34 +00:00