Skip to content
  1. Jan 03, 2014
    • Ana Pazos's avatar
      [AArch64][NEON] Added SXTL and SXTL2 instruction aliases · e891c5f2
      Ana Pazos authored
      llvm-svn: 198437
      e891c5f2
    • David Blaikie's avatar
      Revert "Revert "Debug Info: Type Units: Simplify type hashing using IR-provided unique names."" · cfb2115e
      David Blaikie authored
      This reverts commit r198398, thus reapplying r198397.
      
      I had accidentally introduced an endianness issue when applying the hash
      to the type unit. Using support::ulittle64_t in the reinterpret_cast in
      addDwarfTypeUnitType fixes this issue.
      
      Original commit message:
      
      Debug Info: Type Units: Simplify type hashing using IR-provided unique
      names.
      
      What's good for LTO metadata size problems ought to be good for non-LTO
      debug info size too, so let's rely on the same uniqueness in both cases.
      If it's insufficient for non-LTO for whatever reason (since we now won't
      be uniquing CU-local types or any C types - but these are likely to not
      be the most significant contributors to type bloat) we should consider a
      frontend solution that'll help both LTO and non-LTO alike, rather than
      using DWARF-level DIE-hashing that only helps non-LTO debug info size.
      
      It's also much simpler this way and benefits C++ even more since we can
      deduplicate lexically separate definitions of the same C++ type since
      they have the same mangled name.
      
      llvm-svn: 198436
      cfb2115e
    • David Peixotto's avatar
      Fix loop rerolling pass failure with non-consant loop lower bound · ea9ba446
      David Peixotto authored
      The loop rerolling pass was failing with an assertion failure from a
      failed cast on loops like this:
      
        void foo(int *A, int *B, int m, int n) {
          for (int i = m; i < n; i+=4) {
            A[i+0] = B[i+0] * 4;
            A[i+1] = B[i+1] * 4;
            A[i+2] = B[i+2] * 4;
            A[i+3] = B[i+3] * 4;
          }
        }
      
      The code was casting the SCEV-expanded code for the new
      induction variable to a phi-node. When the loop had a non-constant
      lower bound, the SCEV expander would end the code expansion with an
      add insted of a phi node and the cast would fail.
      
      It looks like the cast to a phi node was only needed to get the
      induction variable value coming from the backedge to compute the end
      of loop condition. This patch changes the loop reroller to compare
      the induction variable to the number of times the backedge is taken
      instead of the iteration count of the loop. In other words, we stop
      the loop when the current value of the induction variable ==
      IterationCount-1. Previously, the comparison was comparing the
      induction variable value from the next iteration == IterationCount.
      
      This problem only seems to occur on 32-bit targets. For some reason,
      the loop is not rerolled on 64-bit targets.
      
      PR18290
      
      llvm-svn: 198425
      ea9ba446
    • Arnold Schwaighofer's avatar
      BasicAA: Use reachabilty instead of dominance for checking value equality in phi · 833a82ec
      Arnold Schwaighofer authored
      cycles
      
      This allows the value equality check to work even if we don't have a dominator
      tree. Also add some more comments.
      
      I was worried about compile time impacts and did not implement reachability but
      used the dominance check in the initial patch. The trade-off was that the
      dominator tree was required.
      The llvm utility function isPotentiallyReachable cuts off the recursive search
      after 32 visits. Testing did not show any compile time regressions showing my
      worries unjustfied.
      
      No compile time or performance regressions at O3 -flto -mavx on test-suite +
      externals.
      
      Addresses review comments from r198290.
      
      llvm-svn: 198400
      833a82ec
    • David Blaikie's avatar
      Revert "Debug Info: Type Units: Simplify type hashing using IR-provided unique names." · ab0ba249
      David Blaikie authored
      Reverting due to bot failure I won't have time to investigate until
      tomorrow.
      
      This reverts commit r198397.
      
      llvm-svn: 198398
      ab0ba249
    • David Blaikie's avatar
      Debug Info: Type Units: Simplify type hashing using IR-provided unique names. · ddb66281
      David Blaikie authored
      What's good for LTO metadata size problems ought to be good for non-LTO
      debug info size too, so let's rely on the same uniqueness in both cases.
      If it's insufficient for non-LTO for whatever reason (since we now won't
      be uniquing CU-local types or any C types - but these are likely to not
      be the most significant contributors to type bloat) we should consider a
      frontend solution that'll help both LTO and non-LTO alike, rather than
      using DWARF-level DIE-hashing that only helps non-LTO debug info size.
      
      It's also much simpler this way and benefits C++ even more since we can
      deduplicate lexically separate definitions of the same C++ type since
      they have the same mangled name.
      
      llvm-svn: 198397
      ddb66281
    • Eric Christopher's avatar
      80-column. · 4d214b9e
      Eric Christopher authored
      llvm-svn: 198394
      4d214b9e
    • Eric Christopher's avatar
      Remove TextSectionSym as it is unused. · 50effa04
      Eric Christopher authored
      llvm-svn: 198393
      50effa04
    • David Blaikie's avatar
      Revert "Reverting r193835 due to weirdness with Go..." · 22b29a5f
      David Blaikie authored
      The cgo problem was that it wants dwarf2 which doesn't support direct
      constant encoding of the location. So let's add support for dwarf2
      encoding (using a location expression) of data member locations.
      
      This reverts commit r198385.
      
      llvm-svn: 198389
      22b29a5f
    • David Blaikie's avatar
      Reverting r193835 due to weirdness with Go... · 2ada116a
      David Blaikie authored
      Apologies for the noise - we're seeing some Go failures with cgo
      interacting with Clang's debug info due to this change.
      
      llvm-svn: 198385
      2ada116a
  2. Jan 02, 2014
  3. Jan 01, 2014
Loading