From 9edb32b599a1e4bc39739ed23abd13cca4dda40f Mon Sep 17 00:00:00 2001 From: Bruce Forstall Date: Mon, 27 Dec 2021 19:26:52 -0800 Subject: [PATCH] Remove unneeded ifdefs Remove ifdefs for always-on values: ASSERTION_PROP, LOCAL_ASSERTION_PROP, OPT_BOOL_OPS, LARGE_EXPSET, REDUNDANT_LOAD. --- src/coreclr/jit/block.h | 16 +++--------- src/coreclr/jit/compiler.cpp | 2 -- src/coreclr/jit/compiler.h | 23 +++-------------- src/coreclr/jit/compiler.hpp | 5 ---- src/coreclr/jit/compphases.h | 2 -- src/coreclr/jit/gentree.h | 2 -- src/coreclr/jit/jit.h | 16 +----------- src/coreclr/jit/lclvars.cpp | 14 ----------- src/coreclr/jit/morph.cpp | 46 +++------------------------------- src/coreclr/jit/morphblock.cpp | 6 ----- 10 files changed, 12 insertions(+), 120 deletions(-) diff --git a/src/coreclr/jit/block.h b/src/coreclr/jit/block.h index a7c49a03328f08..c5996ac8239d75 100644 --- a/src/coreclr/jit/block.h +++ b/src/coreclr/jit/block.h @@ -33,11 +33,7 @@ typedef BitVec EXPSET_TP; typedef BitVec_ValArg_T EXPSET_VALARG_TP; typedef BitVec_ValRet_T EXPSET_VALRET_TP; -#if LARGE_EXPSET #define EXPSET_SZ 64 -#else -#define EXPSET_SZ 32 -#endif typedef BitVec ASSERT_TP; typedef BitVec_ValArg_T ASSERT_VALARG_TP; @@ -1157,24 +1153,18 @@ struct BasicBlock : private LIR::Range */ union { - EXPSET_TP bbCseGen; // CSEs computed by block -#if ASSERTION_PROP + EXPSET_TP bbCseGen; // CSEs computed by block ASSERT_TP bbAssertionGen; // value assignments computed by block -#endif }; union { - EXPSET_TP bbCseIn; // CSEs available on entry -#if ASSERTION_PROP + EXPSET_TP bbCseIn; // CSEs available on entry ASSERT_TP bbAssertionIn; // value assignments available on entry -#endif }; union { - EXPSET_TP bbCseOut; // CSEs available on exit -#if ASSERTION_PROP + EXPSET_TP bbCseOut; // CSEs available on exit ASSERT_TP bbAssertionOut; // value assignments available on exit -#endif }; void* bbEmitCookie; diff --git a/src/coreclr/jit/compiler.cpp b/src/coreclr/jit/compiler.cpp index 3e9059eb156af7..3eef028b596aa1 100644 --- a/src/coreclr/jit/compiler.cpp +++ b/src/coreclr/jit/compiler.cpp @@ -5023,7 +5023,6 @@ void Compiler::compCompile(void** methodCodePtr, uint32_t* methodCodeSize, JitFl // DoPhase(this, PHASE_OPTIMIZE_VALNUM_CSES, &Compiler::optOptimizeCSEs); -#if ASSERTION_PROP if (doAssertionProp) { // Assertion propagation @@ -5042,7 +5041,6 @@ void Compiler::compCompile(void** methodCodePtr, uint32_t* methodCodeSize, JitFl // DoPhase(this, PHASE_OPTIMIZE_INDEX_CHECKS, rangePhase); } -#endif // ASSERTION_PROP if (fgModified) { diff --git a/src/coreclr/jit/compiler.h b/src/coreclr/jit/compiler.h index ea088cccdd5293..7f530ac2ce96d2 100644 --- a/src/coreclr/jit/compiler.h +++ b/src/coreclr/jit/compiler.h @@ -422,13 +422,8 @@ class LclVarDsc , #endif // FEATURE_MULTIREG_ARGS lvClassHnd(NO_CLASS_HANDLE) - , -#if ASSERTION_PROP - lvRefBlks(BlockSetOps::UninitVal()) - , -#endif // ASSERTION_PROP - lvPerSsaData() - + , lvRefBlks(BlockSetOps::UninitVal()) + , lvPerSsaData() { } @@ -477,9 +472,7 @@ class LclVarDsc unsigned char lvIsImplicitByRef : 1; // Set if the argument is an implicit byref. #endif // defined(TARGET_AMD64) || defined(TARGET_ARM64) -#if OPT_BOOL_OPS unsigned char lvIsBoolean : 1; // set if variable is boolean -#endif unsigned char lvSingleDef : 1; // variable has a single def // before lvaMarkLocalVars: identifies ref type locals that can get type updates // after lvaMarkLocalVars: identifies locals that are suitable for optAddCopies @@ -498,10 +491,8 @@ class LclVarDsc // in earlier phase and the information might not be appropriate // in LSRA. -#if ASSERTION_PROP unsigned char lvDisqualify : 1; // variable is no longer OK for add copy optimization unsigned char lvVolatileHint : 1; // hint for AssertionProp -#endif #ifndef TARGET_64BIT unsigned char lvStructDoubleAlign : 1; // Must we double align this struct? @@ -1006,11 +997,10 @@ class LclVarDsc ClassLayout* m_layout; // layout info for structs public: -#if ASSERTION_PROP BlockSet lvRefBlks; // Set of blocks that contain refs Statement* lvDefStmt; // Pointer to the statement with the single definition void lvaDisqualifyVar(); // Call to disqualify a local variable from use in optAddCopies -#endif + var_types TypeGet() const { return (var_types)lvType; @@ -6431,10 +6421,8 @@ class Compiler GenTree* fgMorphTree(GenTree* tree, MorphAddrContext* mac = nullptr); private: -#if LOCAL_ASSERTION_PROP void fgKillDependentAssertionsSingle(unsigned lclNum DEBUGARG(GenTree* tree)); void fgKillDependentAssertions(unsigned lclNum DEBUGARG(GenTree* tree)); -#endif void fgMorphTreeDone(GenTree* tree, GenTree* oldTree = nullptr DEBUGARG(int morphNum = 0)); Statement* fgMorphStmt; @@ -7583,7 +7571,6 @@ class Compiler bool optJumpThread(BasicBlock* const block, BasicBlock* const domBlock, bool domIsSameRelop); bool optReachable(BasicBlock* const fromBlock, BasicBlock* const toBlock, BasicBlock* const excludedBlock); -#if ASSERTION_PROP /************************************************************************** * Value/Assertion propagation *************************************************************************/ @@ -7838,10 +7825,8 @@ class Compiler AssertionDsc* optGetAssertion(AssertionIndex assertIndex); void optAssertionInit(bool isLocalProp); void optAssertionTraitsInit(AssertionIndex assertionCount); -#if LOCAL_ASSERTION_PROP void optAssertionReset(AssertionIndex limit); void optAssertionRemove(AssertionIndex index); -#endif // Assertion prop data flow functions. void optAssertionPropMain(); @@ -7935,11 +7920,11 @@ class Compiler void optDebugCheckAssertion(AssertionDsc* assertion); void optDebugCheckAssertions(AssertionIndex AssertionIndex); #endif + static void optDumpAssertionIndices(const char* header, ASSERT_TP assertions, const char* footer = nullptr); static void optDumpAssertionIndices(ASSERT_TP assertions, const char* footer = nullptr); void optAddCopies(); -#endif // ASSERTION_PROP /************************************************************************** * Range checks diff --git a/src/coreclr/jit/compiler.hpp b/src/coreclr/jit/compiler.hpp index 8fad38af36f846..4d94e26402a423 100644 --- a/src/coreclr/jit/compiler.hpp +++ b/src/coreclr/jit/compiler.hpp @@ -779,9 +779,7 @@ inline GenTree::GenTree(genTreeOps oper, var_types type DEBUGARG(bool largeNode) gtDebugFlags = GTF_DEBUG_NONE; #endif // DEBUG gtCSEnum = NO_CSE; -#if ASSERTION_PROP ClearAssertion(); -#endif gtNext = nullptr; gtPrev = nullptr; @@ -3219,8 +3217,6 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */ -#if LOCAL_ASSERTION_PROP - /***************************************************************************** * * The following resets the value assignment table @@ -3332,7 +3328,6 @@ inline void Compiler::optAssertionRemove(AssertionIndex index) optAssertionReset(newAssertionCount); } } -#endif // LOCAL_ASSERTION_PROP inline void Compiler::LoopDsc::AddModifiedField(Compiler* comp, CORINFO_FIELD_HANDLE fldHnd) { diff --git a/src/coreclr/jit/compphases.h b/src/coreclr/jit/compphases.h index 7ecdd1edd2a1d5..e5c15c1d438a6c 100644 --- a/src/coreclr/jit/compphases.h +++ b/src/coreclr/jit/compphases.h @@ -79,9 +79,7 @@ CompPhaseNameMacro(PHASE_OPTIMIZE_INDEX_CHECKS, "Optimize index checks", CompPhaseNameMacro(PHASE_OPTIMIZE_VALNUM_CSES, "Optimize Valnum CSEs", "OPT-CSE", false, -1, false) CompPhaseNameMacro(PHASE_VN_COPY_PROP, "VN based copy prop", "CP-PROP", false, -1, false) CompPhaseNameMacro(PHASE_OPTIMIZE_BRANCHES, "Redundant branch opts", "OPT-BR", false, -1, false) -#if ASSERTION_PROP CompPhaseNameMacro(PHASE_ASSERTION_PROP_MAIN, "Assertion prop", "AST-PROP", false, -1, false) -#endif CompPhaseNameMacro(PHASE_OPT_UPDATE_FLOW_GRAPH, "Update flow graph opt pass", "UPD-FG-O", false, -1, false) CompPhaseNameMacro(PHASE_COMPUTE_EDGE_WEIGHTS2, "Compute edge weights (2, false)","EDG-WGT2", false, -1, false) CompPhaseNameMacro(PHASE_INSERT_GC_POLLS, "Insert GC Polls", "GC-POLLS", false, -1, true) diff --git a/src/coreclr/jit/gentree.h b/src/coreclr/jit/gentree.h index 3fd3792eb8b1f9..848b535474e701 100644 --- a/src/coreclr/jit/gentree.h +++ b/src/coreclr/jit/gentree.h @@ -762,7 +762,6 @@ struct GenTree unsigned char gtLIRFlags; // Used for nodes that are in LIR. See LIR::Flags in lir.h for the various flags. -#if ASSERTION_PROP AssertionInfo gtAssertionInfo; bool GeneratesAssertion() const @@ -784,7 +783,6 @@ struct GenTree { gtAssertionInfo = info; } -#endif // // Cost metrics on the node. Don't allow direct access to the variable for setting. diff --git a/src/coreclr/jit/jit.h b/src/coreclr/jit/jit.h index d8cb5cabfb065d..c9e8d0732a467a 100644 --- a/src/coreclr/jit/jit.h +++ b/src/coreclr/jit/jit.h @@ -353,21 +353,7 @@ class GlobalJitOptions /*****************************************************************************/ #define CSE_INTO_HANDLERS 0 - -#define LARGE_EXPSET 1 // Track 64 or 32 assertions/copies/consts/rangechecks -#define ASSERTION_PROP 1 // Enable value/assertion propagation - -#define LOCAL_ASSERTION_PROP ASSERTION_PROP // Enable local assertion propagation - -//============================================================================= - -#define OPT_BOOL_OPS 1 // optimize boolean operations - -//============================================================================= - -#define REDUNDANT_LOAD 1 // track locals in regs, suppress loads -#define DUMP_FLOWGRAPHS DEBUG // Support for creating Xml Flowgraph reports in *.fgx files - +#define DUMP_FLOWGRAPHS DEBUG // Support for creating Xml Flowgraph reports in *.fgx files #define HANDLER_ENTRY_MUST_BE_IN_HOT_SECTION 1 // if 1 we must have all handler entry points in the Hot code section /*****************************************************************************/ diff --git a/src/coreclr/jit/lclvars.cpp b/src/coreclr/jit/lclvars.cpp index 4d01e63ef13b6c..42822e9a39ca75 100644 --- a/src/coreclr/jit/lclvars.cpp +++ b/src/coreclr/jit/lclvars.cpp @@ -1404,12 +1404,10 @@ void Compiler::lvaInitVarDsc(LclVarDsc* varDsc, varDsc->lvType = type; } -#if OPT_BOOL_OPS if (type == TYP_BOOL) { varDsc->lvIsBoolean = true; } -#endif #ifdef DEBUG varDsc->SetStackOffset(BAD_STK_OFFS); @@ -3621,7 +3619,6 @@ void Compiler::lvaSortByRefCount() #endif } -#if ASSERTION_PROP /***************************************************************************** * * This is called by lvaMarkLclRefs to disqualify a variable from being @@ -3633,7 +3630,6 @@ void LclVarDsc::lvaDisqualifyVar() this->lvSingleDef = false; this->lvDefStmt = nullptr; } -#endif // ASSERTION_PROP #ifdef FEATURE_SIMD var_types LclVarDsc::GetSimdBaseType() const @@ -3908,8 +3904,6 @@ void Compiler::lvaMarkLclRefs(GenTree* tree, BasicBlock* block, Statement* stmt, GenTree* op1 = tree->AsOp()->gtOp1; GenTree* op2 = tree->AsOp()->gtOp2; -#if OPT_BOOL_OPS - /* Is this an assignment to a local variable? */ if (op1->gtOper == GT_LCL_VAR && op2->gtType != TYP_BOOL) @@ -3957,7 +3951,6 @@ void Compiler::lvaMarkLclRefs(GenTree* tree, BasicBlock* block, Statement* stmt, break; } } -#endif } } @@ -4015,15 +4008,12 @@ void Compiler::lvaMarkLclRefs(GenTree* tree, BasicBlock* block, Statement* stmt, if (tree->gtOper == GT_LCL_FLD) { -#if ASSERTION_PROP // variables that have uses inside a GT_LCL_FLD // cause problems, so we will disqualify them here varDsc->lvaDisqualifyVar(); -#endif // ASSERTION_PROP return; } -#if ASSERTION_PROP if (fgDomsComputed && IsDominatedByExceptionalEntry(block)) { SetVolatileHint(varDsc); @@ -4114,8 +4104,6 @@ void Compiler::lvaMarkLclRefs(GenTree* tree, BasicBlock* block, Statement* stmt, } } -#endif // ASSERTION_PROP - bool allowStructs = false; #ifdef UNIX_AMD64_ABI // On System V the type of the var could be a struct type. @@ -4359,12 +4347,10 @@ void Compiler::lvaMarkLocalVars() lvaGetDesc(info.compTypeCtxtArg)->lvImplicitlyReferenced = reportParamTypeArg; } -#if ASSERTION_PROP assert(PreciseRefCountsRequired()); // Note: optAddCopies() depends on lvaRefBlks, which is set in lvaMarkLocalVars(BasicBlock*), called above. optAddCopies(); -#endif } //------------------------------------------------------------------------ diff --git a/src/coreclr/jit/morph.cpp b/src/coreclr/jit/morph.cpp index f3aceac0dd14c4..56388757fb70c5 100644 --- a/src/coreclr/jit/morph.cpp +++ b/src/coreclr/jit/morph.cpp @@ -5751,7 +5751,6 @@ GenTree* Compiler::fgMorphLocalVar(GenTree* tree, bool forceRemorph) if (!varAddr && varDsc->lvNormalizeOnLoad()) { -#if LOCAL_ASSERTION_PROP // TYP_BOOL quirk: previously, the code in optAssertionIsSubrange did not handle TYP_BOOL. // Now it does, but this leads to some regressions because we lose the uniform VNs for trees // that represent the "reduced" normalize-on-load locals, i. e. LCL_VAR(small type V00), created @@ -5777,7 +5776,7 @@ GenTree* Compiler::fgMorphLocalVar(GenTree* tree, bool forceRemorph) assert(tree->TypeGet() == varDsc->TypeGet()); return tree; } -#endif + // Small-typed arguments and aliased locals are normalized on load. // Other small-typed locals are normalized on store. // Also, under the debugger as the debugger could write to the variable. @@ -9854,7 +9853,6 @@ GenTree* Compiler::fgMorphOneAsgBlockOp(GenTree* tree) if (destVarDsc != nullptr) { -#if LOCAL_ASSERTION_PROP // Kill everything about dest if (optLocalAssertionProp) { @@ -9863,7 +9861,6 @@ GenTree* Compiler::fgMorphOneAsgBlockOp(GenTree* tree) fgKillDependentAssertions(destVarNum DEBUGARG(tree)); } } -#endif // LOCAL_ASSERTION_PROP // A previous incarnation of this code also required the local not to be // address-exposed(=taken). That seems orthogonal to the decision of whether @@ -10227,12 +10224,10 @@ GenTree* Compiler::fgMorphPromoteLocalInitBlock(GenTreeLclVar* destLclNode, GenT GenTree* asg = gtNewAssignNode(dest, src); -#if LOCAL_ASSERTION_PROP if (optLocalAssertionProp) { optAssertionGen(asg); } -#endif // LOCAL_ASSERTION_PROP if (tree != nullptr) { @@ -10940,13 +10935,11 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) bool isQmarkColon = false; -#if LOCAL_ASSERTION_PROP AssertionIndex origAssertionCount = DUMMY_INIT(0); AssertionDsc* origAssertionTab = DUMMY_INIT(NULL); AssertionIndex thenAssertionCount = DUMMY_INIT(0); AssertionDsc* thenAssertionTab = DUMMY_INIT(NULL); -#endif if (fgGlobalMorph) { @@ -11039,9 +11032,7 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) break; case GT_COLON: -#if LOCAL_ASSERTION_PROP if (optLocalAssertionProp) -#endif { isQmarkColon = true; } @@ -11564,8 +11555,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) if (op1) { - -#if LOCAL_ASSERTION_PROP // If we are entering the "then" part of a Qmark-Colon we must // save the state of the current copy assignment table // so that we can restore this state when entering the "else" part @@ -11586,7 +11575,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) origAssertionTab = nullptr; } } -#endif // LOCAL_ASSERTION_PROP // We might need a new MorphAddressContext context. (These are used to convey // parent context about how addresses being calculated will be used; see the @@ -11677,7 +11665,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) tree->AsOp()->gtOp1 = op1 = fgMorphTree(op1, subMac1); -#if LOCAL_ASSERTION_PROP // If we are exiting the "then" part of a Qmark-Colon we must // save the state of the current copy assignment table // so that we can merge this state with the "else" part exit @@ -11698,7 +11685,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) thenAssertionTab = nullptr; } } -#endif // LOCAL_ASSERTION_PROP /* Morphing along with folding and inlining may have changed the * side effect flags, so we have to reset them @@ -11729,8 +11715,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) if (op2) { - -#if LOCAL_ASSERTION_PROP // If we are entering the "else" part of a Qmark-Colon we must // reset the state of the current copy assignment table if (isQmarkColon) @@ -11744,7 +11728,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) optAssertionReset(origAssertionCount); } } -#endif // LOCAL_ASSERTION_PROP // We might need a new MorphAddressContext context to use in evaluating op2. // (These are used to convey parent context about how addresses being calculated @@ -11787,7 +11770,6 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) tree->gtFlags |= (op2->gtFlags & GTF_ALL_EFFECT); -#if LOCAL_ASSERTION_PROP // If we are exiting the "else" part of a Qmark-Colon we must // merge the state of the current copy assignment table with // that of the exit of the "then" part. @@ -11859,8 +11841,7 @@ GenTree* Compiler::fgMorphSmpOp(GenTree* tree, MorphAddrContext* mac) } } } -#endif // LOCAL_ASSERTION_PROP - } // if (op2) + } // if (op2) DONE_MORPHING_CHILDREN: @@ -14715,7 +14696,6 @@ GenTree* Compiler::fgMorphTree(GenTree* tree, MorphAddrContext* mac) /* Ensure that we haven't morphed this node already */ assert(((tree->gtDebugFlags & GTF_DEBUG_NODE_MORPHED) == 0) && "ERROR: Already morphed this node!"); -#if LOCAL_ASSERTION_PROP /* Before morphing the tree, we try to propagate any active assertions */ if (optLocalAssertionProp) { @@ -14734,7 +14714,6 @@ GenTree* Compiler::fgMorphTree(GenTree* tree, MorphAddrContext* mac) } } PREFAST_ASSUME(tree != nullptr); -#endif } /* Save the original un-morphed tree for fgMorphTreeDone */ @@ -14898,7 +14877,6 @@ GenTree* Compiler::fgMorphTree(GenTree* tree, MorphAddrContext* mac) return tree; } -#if LOCAL_ASSERTION_PROP //------------------------------------------------------------------------ // fgKillDependentAssertionsSingle: Kill all assertions specific to lclNum // @@ -14986,7 +14964,6 @@ void Compiler::fgKillDependentAssertions(unsigned lclNum DEBUGARG(GenTree* tree) fgKillDependentAssertionsSingle(lclNum DEBUGARG(tree)); } } -#endif // LOCAL_ASSERTION_PROP /***************************************************************************** * @@ -14994,7 +14971,7 @@ void Compiler::fgKillDependentAssertions(unsigned lclNum DEBUGARG(GenTree* tree) * It should only be called once for each node. * If DEBUG is defined the flag GTF_DEBUG_NODE_MORPHED is checked and updated, * to enforce the invariant that each node is only morphed once. - * If LOCAL_ASSERTION_PROP is enabled the result tree may be replaced + * If local assertion prop is enabled the result tree may be replaced * by an equivalent tree. * */ @@ -15037,8 +15014,6 @@ void Compiler::fgMorphTreeDone(GenTree* tree, goto DONE; } -#if LOCAL_ASSERTION_PROP - if (!optLocalAssertionProp) { goto DONE; @@ -15070,8 +15045,6 @@ void Compiler::fgMorphTreeDone(GenTree* tree, /* If this tree makes a new assertion - make it available */ optAssertionGen(tree); -#endif // LOCAL_ASSERTION_PROP - DONE:; #ifdef DEBUG @@ -15798,7 +15771,6 @@ void Compiler::fgMorphBlocks() fgGlobalMorph = true; -#if LOCAL_ASSERTION_PROP // // Local assertion prop is enabled if we are optimized // @@ -15811,15 +15783,6 @@ void Compiler::fgMorphBlocks() // optAssertionInit(true); } -#elif ASSERTION_PROP - // - // If LOCAL_ASSERTION_PROP is not set - // and we have global assertion prop - // then local assertion prop is always off - // - optLocalAssertionProp = false; - -#endif if (!compEnregLocals()) { @@ -15847,7 +15810,6 @@ void Compiler::fgMorphBlocks() } #endif -#if LOCAL_ASSERTION_PROP if (optLocalAssertionProp) { // @@ -15857,7 +15819,7 @@ void Compiler::fgMorphBlocks() // optAssertionReset(0); } -#endif + // Make the current basic block address available globally. compCurBB = block; diff --git a/src/coreclr/jit/morphblock.cpp b/src/coreclr/jit/morphblock.cpp index a8482726a5da23..b2d204aa2de711 100644 --- a/src/coreclr/jit/morphblock.cpp +++ b/src/coreclr/jit/morphblock.cpp @@ -281,15 +281,11 @@ void MorphInitBlockHelper::PrepareDst() m_dstLclNum = m_dstLclNode->GetLclNum(); m_dstLclOffset = m_dstLclNode->GetLclOffs(); -#if LOCAL_ASSERTION_PROP - // Kill everything about m_dstLclNum (and its field locals) if (m_comp->optLocalAssertionProp && (m_comp->optAssertionCount > 0)) { m_comp->fgKillDependentAssertions(m_dstLclNum DEBUGARG(m_asg)); } - -#endif // LOCAL_ASSERTION_PROP } #if defined(DEBUG) @@ -1483,12 +1479,10 @@ GenTree* MorphCopyBlockHelper::CopyFieldByField() noway_assert(m_comp->lvaGetDesc(m_dstLclNum)->IsAddressExposed()); } -#if LOCAL_ASSERTION_PROP if (m_comp->optLocalAssertionProp) { m_comp->optAssertionGen(asgOneFld); } -#endif // LOCAL_ASSERTION_PROP if (addrSpillAsg != nullptr) {