| 511 | } |
| 512 | |
| 513 | void GenerateHash() |
| 514 | { |
| 515 | HashContext hashCtx; |
| 516 | |
| 517 | hashCtx.Mixin(mWriteObj); |
| 518 | hashCtx.Mixin(mWriteBitcode); |
| 519 | hashCtx.Mixin(mAsmKind); |
| 520 | hashCtx.Mixin(mWriteToLib); |
| 521 | hashCtx.Mixin(mWriteLLVMIR); |
| 522 | hashCtx.Mixin(mVirtualMethodOfs); |
| 523 | hashCtx.Mixin(mDynSlotOfs); |
| 524 | |
| 525 | hashCtx.Mixin(mRelocType); |
| 526 | hashCtx.Mixin(mPICLevel); |
| 527 | hashCtx.Mixin(mSIMDSetting); |
| 528 | hashCtx.Mixin(mOptLevel); |
| 529 | hashCtx.Mixin(mLTOType); |
| 530 | hashCtx.Mixin(mSizeLevel); |
| 531 | hashCtx.Mixin(mUseCFLAA); |
| 532 | hashCtx.Mixin(mUseNewSROA); |
| 533 | |
| 534 | hashCtx.Mixin(mDisableTailCalls); |
| 535 | hashCtx.Mixin(mDisableUnitAtATime); |
| 536 | hashCtx.Mixin(mDisableUnrollLoops); |
| 537 | hashCtx.Mixin(mBBVectorize); |
| 538 | hashCtx.Mixin(mSLPVectorize); |
| 539 | hashCtx.Mixin(mLoopVectorize); |
| 540 | hashCtx.Mixin(mRerollLoops); |
| 541 | hashCtx.Mixin(mLoadCombine); |
| 542 | hashCtx.Mixin(mDisableGVNLoadPRE); |
| 543 | hashCtx.Mixin(mVerifyInput); |
| 544 | hashCtx.Mixin(mVerifyOutput); |
| 545 | hashCtx.Mixin(mStripDebug); |
| 546 | hashCtx.Mixin(mMergeFunctions); |
| 547 | hashCtx.Mixin(mEnableMLSM); |
| 548 | hashCtx.Mixin(mRunSLPAfterLoopVectorization); |
| 549 | hashCtx.Mixin(mUseGVNAfterVectorization); |
| 550 | hashCtx.Mixin(mEnableLoopInterchange); |
| 551 | hashCtx.Mixin(mEnableLoopLoadElim); |
| 552 | hashCtx.Mixin(mExtraVectorizerPasses); |
| 553 | |
| 554 | mHash = hashCtx.Finish128(); |
| 555 | } |
| 556 | }; |
| 557 | |
| 558 | enum BfParamKind : uint8 |