Skip to content
  1. Sep 15, 2012
    • Benjamin Kramer's avatar
      X86: Emitting x87 fsin/fcos for sinf/cosf is not safe without unsafe fp math. · ece43425
      Benjamin Kramer authored
      This was only an issue if sse is disabled.
      
      llvm-svn: 163967
      ece43425
    • Chandler Carruth's avatar
      Port the SSAUpdater-based promotion logic from the old SROA pass to the · 70b44c5c
      Chandler Carruth authored
      new one, and add support for running the new pass in that mode and in
      that slot of the pass manager. With this the new pass can completely
      replace the old one within the pipeline.
      
      The strategy for enabling or disabling the SSAUpdater logic is to do it
      by making the requirement of the domtree analysis optional. By default,
      it is required and we get the standard mem2reg approach. This is usually
      the desired strategy when run in stand-alone situations. Within the
      CGSCC pass manager, we disable requiring of the domtree analysis and
      consequentially trigger fallback to the SSAUpdater promotion.
      
      In theory this would allow the pass to re-use a domtree if one happened
      to be available even when run in a mode that doesn't require it. In
      practice, it lets us have a single pass rather than two which was
      simpler for me to wrap my head around.
      
      There is a hidden flag to force the use of the SSAUpdater code path for
      the purpose of testing. The primary testing strategy is just to run the
      existing tests through that path. One notable difference is that it has
      custom code to handle lifetime markers, and one of the tests has been
      enhanced to exercise that code.
      
      This has survived a bootstrap and the test suite without serious
      correctness issues, however my run of the test suite produced *very*
      alarming performance numbers. I don't entirely understand or trust them
      though, so more investigation is on-going.
      
      To aid my understanding of the performance impact of the new SROA now
      that it runs throughout the optimization pipeline, I'm enabling it by
      default in this commit, and will disable it again once the LNT bots have
      picked up one iteration with it. I want to get those bots (which are
      much more stable) to evaluate the impact of the change before I jump to
      any conclusions.
      
      NOTE: Several Clang tests will fail because they run -O3 and check the
      result's order of output. They'll go back to passing once I disable it
      again.
      
      llvm-svn: 163965
      70b44c5c
    • Akira Hatanaka's avatar
      Remove aligned/unaligned load/store fragments defined in MipsInstrInfo.td and · 3e7ba761
      Akira Hatanaka authored
      use load/store fragments defined in TargetSelectionDAG.td in place of them.
      Unaligned loads/stores are either expanded or lowered to target-specific nodes,
      so instruction selection should see only aligned load/store nodes.
      
      No changes in functionality.
      
      llvm-svn: 163960
      3e7ba761
    • Akira Hatanaka's avatar
      Handled unaligned load/stores properly in Mips16 · 189d0add
      Akira Hatanaka authored
      Patch by Reed Kotler.
      
      llvm-svn: 163956
      189d0add
    • Manman Ren's avatar
      PGO: preserve branch-weight metadata when simplifying two branches with a common · bfb9d435
      Manman Ren authored
      destination.
      
      Updated previous implementation to fix a case not covered:
      // PBI: br i1 %x, TrueDest, BB
      // BI:  br i1 %y, TrueDest, FalseDest
      The other case was handled correctly.
      // PBI: br i1 %x, BB, FalseDest
      // BI:  br i1 %y, TrueDest, FalseDest
      
      Also tried to use 64-bit arithmetic instead of APInt with scale to simplify the
      computation. Let me know if you have other opinions about this.
      
      llvm-svn: 163954
      bfb9d435
    • Bill Wendling's avatar
      Remove comment. · 8d26bc38
      Bill Wendling authored
      llvm-svn: 163945
      8d26bc38
  2. Sep 14, 2012
Loading