Skip to content
  1. Nov 19, 2011
    • Chandler Carruth's avatar
      Move the handling of unanalyzable branches out of the loop-driven chain · f3dc9eff
      Chandler Carruth authored
      formation phase and into the initial walk of the basic blocks. We
      essentially pre-merge all blocks where unanalyzable fallthrough exists,
      as we won't be able to update the terminators effectively after any
      reorderings. This is quite a bit more principled as there may be CFGs
      where the second half of the unanalyzable pair has some analyzable
      predecessor that gets placed first. Then it may get placed next,
      implicitly breaking the unanalyzable branch even though we never even
      looked at the part that isn't analyzable. I've included a test case that
      triggers this (thanks Benjamin yet again!), and I'm hoping to synthesize
      some more general ones as I dig into related issues.
      
      Also, to make this new scheme work we have to be able to handle branches
      into the middle of a chain, so add this check. We always fallback on the
      incoming ordering.
      
      Finally, this starts to really underscore a known limitation of the
      current implementation -- we don't consider broken predecessors when
      merging successors. This can caused major missed opportunities, and is
      something I'm planning on looking at next (modulo more bug reports).
      
      llvm-svn: 144994
      f3dc9eff
    • Craig Topper's avatar
      Synthesize SSSE3/AVX 128-bit horizontal integer add/sub instructions from... · f984efbf
      Craig Topper authored
      Synthesize SSSE3/AVX 128-bit horizontal integer add/sub instructions from add/sub of appropriate shuffle vectors.
      
      llvm-svn: 144989
      f984efbf
    • Craig Topper's avatar
      Collapse X86 PSIGNB/PSIGNW/PSIGND node types. · 81390be0
      Craig Topper authored
      llvm-svn: 144988
      81390be0
    • Craig Topper's avatar
      Extend VPBLENDVB and VPSIGN lowering to work for AVX2. · de6b73bb
      Craig Topper authored
      llvm-svn: 144987
      de6b73bb
    • Craig Topper's avatar
      Remove unused parameters from the AVX maskmov classes. · 66e2b5a6
      Craig Topper authored
      llvm-svn: 144985
      66e2b5a6
  2. Nov 18, 2011
  3. Nov 17, 2011
  4. Nov 16, 2011
Loading