Skip to content
  1. Mar 12, 2013
    • Bill Wendling's avatar
      Reflect reality. · b04d7fa4
      Bill Wendling authored
      llvm-svn: 176858
      b04d7fa4
    • Akira Hatanaka's avatar
      [mips] Rename function and variable names to start with proper case. Fix typos. · 0bb60d89
      Akira Hatanaka authored
      Delete commented-out code.
      
      llvm-svn: 176844
      0bb60d89
    • Meador Inge's avatar
      LibCallSimplifier: optimize speed for short-lived instances · 20255ef2
      Meador Inge authored
      Nadav reported a performance regression due to the work I did to
      merge the library call simplifier into instcombine [1].  The issue
      is that a new LibCallSimplifier object is being created whenever
      InstCombiner::runOnFunction is called.  Every time a LibCallSimplifier
      object is used to optimize a call it creates a hash table to map from
      a function name to an object that optimizes functions of that name.
      For short-lived LibCallSimplifier instances this is quite inefficient.
      Especially for cases where no calls are actually simplified.
      
      This patch fixes the issue by dropping the hash table and implementing
      an explicit lookup function to correlate the function name to the object
      that optimizes functions of that name.  This avoids the cost of always
      building and destroying the hash table in cases where the LibCallSimplifier
      object is short-lived and avoids the cost of building the table when no
      simplifications are actually preformed.
      
      On a benchmark containing 100,000 calls where none of them are simplified
      I noticed a 30% speedup.  On a benchmark containing 100,000 calls where
      all of them are simplified I noticed an 8% speedup.
      
      [1] http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130304/167639.html
      
      llvm-svn: 176840
      20255ef2
    • David Blaikie's avatar
      Remove support for versioned debug info. · dc69ebb1
      David Blaikie authored
      Versioned debug info support has been a burden to maintain & also compromised
      current debug info verification by causing test cases testing old debug info to
      remain rather than being updated to the latest. It also makes it hard to add or
      change the metadata schema by requiring various backwards-compatibility in the
      DI* hierarchy.
      
      So it's being removed in preparation for new changes to the schema to tidy up
      old/unnecessary fields and add new fields needed for new debug info (well, new
      to LLVM at least).
      
      The more surprising part of this is the changes to DI*::Verify - this became
      necessary due to the changes to AsmWriter. AsmWriter was relying on the version
      test to decide which bits of metadata were actually debug info when printing
      the comment annotations. Without the version information the tag numbers were
      too common & it would print debug info on random metadata that happened to
      start with an integer that matched a tag number. Instead this change makes the
      Verify functions more precise (just adding "number of operands" checks - not
      type checking those operands yet) & relies on that to decide which metadata is
      debug info metadata.
      
      llvm-svn: 176838
      dc69ebb1
    • David Blaikie's avatar
      085abe38
    • Eli Bendersky's avatar
      Residual cleanup: live-out set is gone · d4274084
      Eli Bendersky authored
      llvm-svn: 176836
      d4274084
    • NAKAMURA Takumi's avatar
      llvm/test/CodeGen/R600/schedule-*.ll: Let them require +Asserts. · e781913a
      NAKAMURA Takumi authored
      llvm-svn: 176835
      e781913a
  2. Mar 11, 2013
  3. Mar 10, 2013
  4. Mar 09, 2013
Loading