{"comment":{"url":"https://api.github.com/repos/apple/swift/comments/14830227","html_url":"https://github.com/apple/swift/commit/92b56cb96d811e43a04c6217b55382f95bbd9ac6#commitcomment-14830227","id":14830227,"user":{"login":"trentxintong","id":14864764,"avatar_url":"https://avatars.githubusercontent.com/u/14864764?v=3","gravatar_id":"","url":"https://api.github.com/users/trentxintong","html_url":"https://github.com/trentxintong","followers_url":"https://api.github.com/users/trentxintong/followers","following_url":"https://api.github.com/users/trentxintong/following{/other_user}","gists_url":"https://api.github.com/users/trentxintong/gists{/gist_id}","starred_url":"https://api.github.com/users/trentxintong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trentxintong/subscriptions","organizations_url":"https://api.github.com/users/trentxintong/orgs","repos_url":"https://api.github.com/users/trentxintong/repos","events_url":"https://api.github.com/users/trentxintong/events{/privacy}","received_events_url":"https://api.github.com/users/trentxintong/received_events","type":"User","site_admin":false},"position":null,"line":null,"path":"","commit_id":"92b56cb96d811e43a04c6217b55382f95bbd9ac6","created_at":"2015-12-07T19:54:07Z","updated_at":"2015-12-07T19:54:07Z","body":"I am seeing interesting behavior with AA caching implemented in 92b56cb96d811e43a04c6217b55382f95bbd9ac6. This is the latest compilation time.  I only see small difference with and without the AA cache in compilation time for DSE. \r\n\r\nI performed an experiment last week by implementing a mayReadFromMemory cache in the DSE pass. Below is the compilation time.\r\n\r\nRunning Time\tSelf (ms)\t\tSymbol Name\r\n15567.0ms   26.6%\t86.0\t \t       swift::SILPassManager::runFunctionPasses(llvm::ArrayRef<swift::SILFunctionTransform*>)\r\n2865.0ms    4.9%\t10.0\t \t        (anonymous namespace)::SimplifyCFGPass::run()\r\n2491.0ms    4.2%\t14.0\t \t        (anonymous namespace)::ARCSequenceOpts::run()\r\n2361.0ms    4.0%\t9.0\t \t        (anonymous namespace)::SILCombine::run()\r\n1730.0ms    2.9%\t119.0\t \t        (anonymous namespace)::RedundantLoadElimination::run()\r\n1684.0ms    2.8%\t88.0\t \t        (anonymous namespace)::SILCSE::run()\r\n1404.0ms    2.4%\t36.0\t \t        (anonymous namespace)::DeadStoreElimination::run()\r\n773.0ms    1.3%\t136.0\t \t        (anonymous namespace)::DCE::run()\r\n440.0ms    0.7%\t9.0\t \t        (anonymous namespace)::SILCodeMotion::run()\r\n300.0ms    0.5%\t6.0\t \t        (anonymous namespace)::ABCOpt::run()\r\n213.0ms    0.3%\t23.0\t \t        (anonymous namespace)::SILSROA::run()\r\n205.0ms    0.3%\t2.0\t \t        (anonymous namespace)::SILMem2Reg::run()\r\n166.0ms    0.2%\t5.0\t \t        (anonymous namespace)::ConstantPropagation::run()\r\n151.0ms    0.2%\t50.0\t \t        (anonymous namespace)::SILLowerAggregate::run()\r\n111.0ms    0.1%\t1.0\t \t        (anonymous namespace)::StackPromotion::run()\r\n78.0ms    0.1%\t46.0\t \t        (anonymous namespace)::RemovePinInsts::run()\r\n58.0ms    0.0%\t1.0\t \t        (anonymous namespace)::LoopRotation::run()\r\n\r\n\r\nWith the AA cache implemented in 92b56cb96d811e43a04c6217b55382f95bbd9ac6.\r\n\r\nRunning Time\tSelf (ms)\t\tSymbol Name\r\n15454.0ms   26.7%\t85.0\t \t       swift::SILPassManager::runFunctionPasses(llvm::ArrayRef<swift::SILFunctionTransform*>)\r\n2771.0ms    4.8%\t9.0\t \t        (anonymous namespace)::SimplifyCFGPass::run()\r\n2525.0ms    4.3%\t15.0\t \t        (anonymous namespace)::ARCSequenceOpts::run()\r\n2369.0ms    4.1%\t8.0\t \t        (anonymous namespace)::SILCombine::run()\r\n1653.0ms    2.8%\t146.0\t \t        (anonymous namespace)::RedundantLoadElimination::run()\r\n1635.0ms    2.8%\t103.0\t \t        (anonymous namespace)::SILCSE::run()\r\n1582.0ms    2.7%\t42.0\t \t        (anonymous namespace)::DeadStoreElimination::run()\r\n771.0ms    1.3%\t121.0\t \t        (anonymous namespace)::DCE::run()\r\n399.0ms    0.6%\t7.0\t \t        (anonymous namespace)::SILCodeMotion::run()\r\n279.0ms    0.4%\t11.0\t \t        (anonymous namespace)::ABCOpt::run()\r\n211.0ms    0.3%\t41.0\t \t        (anonymous namespace)::SILSROA::run()\r\n203.0ms    0.3%\t3.0\t \t        (anonymous namespace)::SILMem2Reg::run()\r\n144.0ms    0.2%\t1.0\t \t        (anonymous namespace)::ConstantPropagation::run()\r\n135.0ms    0.2%\t57.0\t \t        (anonymous namespace)::SILLowerAggregate::run()\r\n112.0ms    0.1%\t0.0\t \t        (anonymous namespace)::StackPromotion::run()\r\n\r\n\r\nWithout the AA cache.\r\n\r\nRunning Time\tSelf (ms)\t\tSymbol Name\r\n15583.0ms   26.9%\t72.0\t \t       swift::SILPassManager::runFunctionPasses(llvm::ArrayRef<swift::SILFunctionTransform*>)\r\n2838.0ms    4.9%\t7.0\t \t        (anonymous namespace)::SimplifyCFGPass::run()\r\n2548.0ms    4.4%\t7.0\t \t        (anonymous namespace)::ARCSequenceOpts::run()\r\n2324.0ms    4.0%\t6.0\t \t        (anonymous namespace)::SILCombine::run()\r\n1669.0ms    2.8%\t115.0\t \t        (anonymous namespace)::RedundantLoadElimination::run()\r\n1661.0ms    2.8%\t106.0\t \t        (anonymous namespace)::SILCSE::run()\r\n1592.0ms    2.7%\t27.0\t \t        (anonymous namespace)::DeadStoreElimination::run()\r\n791.0ms    1.3%\t129.0\t \t        (anonymous namespace)::DCE::run()\r\n381.0ms    0.6%\t11.0\t \t        (anonymous namespace)::SILCodeMotion::run()\r\n272.0ms    0.4%\t7.0\t \t        (anonymous namespace)::ABCOpt::run()\r\n215.0ms    0.3%\t35.0\t \t        (anonymous namespace)::SILSROA::run()\r\n175.0ms    0.3%\t0.0\t \t        (anonymous namespace)::SILMem2Reg::run()\r\n170.0ms    0.2%\t54.0\t \t        (anonymous namespace)::SILLowerAggregate::run()\r\n167.0ms    0.2%\t1.0\t \t        (anonymous namespace)::ConstantPropagation::run()\r\n117.0ms    0.2%\t0.0\t \t        (anonymous namespace)::StackPromotion::run()\r\n83.0ms    0.1%\t55.0\t \t        (anonymous namespace)::RemovePinInsts::run()\r\n53.0ms    0.0%\t3.0\t \t        (anonymous namespace)::LoopRotation::run()\r\n47.0ms    0.0%\t45.0\t \t        (anonymous namespace)::DeadObjectElimination::run()"}}