Skip to content
  1. Mar 12, 2013
    • Richard Relph's avatar
      Avoid generating ISD::SELECT for vector operands to SIGN_EXTEND · 61046a97
      Richard Relph authored
      llvm-svn: 176881
      61046a97
    • Kevin Enderby's avatar
      Remove the assert()'s from the LLVMCreateDisasmCPU() library API and just · f536c6af
      Kevin Enderby authored
      return 0 to indicate failure to create the disassembler.  A library routine
      should not assert and just let the caller handler the error.  For example
      darwin's otool(1) will simply print an error if it ends up using a library
      that is not configured for a target it wants:
      
      % otool -tv ViewController.o
      ViewController.o:
      (__TEXT,__text) section
      can't create arm llvm disassembler
      
      This is much better than an abort which appears as a crash to the user or
      even the assert when using a Debug+Asserts built library:
      
      Assertion failed: (MAI && "Unable to create target asm info!"), function LLVMCreateDisasmCPU, file /Volumes/SandBox/llvm/lib/MC/MCDisassembler/Disassembler.cpp, line 47.
      
      radr://12539918
      
      llvm-svn: 176880
      f536c6af
    • Pete Cooper's avatar
      Add a doFinalization method to the DataLayout pass. · 6308a828
      Pete Cooper authored
      This pass is meant to be immutable, however it holds mutable state to cache StructLayouts.
      This method will allow the pass manager to clear the mutable state between runs.
      
      Note that unfortunately it is still necessary to have the destructor, even though it does the
      same thing as doFinalization.  This is because most TargetMachines embed a DataLayout on which
      doFinalization isn't run as its never added to the pass manager.
      
      I also didn't think it was necessary to complication things with a deInit method for which
      doFinalization and ~DataLayout both call as there's only one field of mutable state.  If we had
      more fields to finalize i'd have added this.
      
      llvm-svn: 176877
      6308a828
    • Jan Wen Voung's avatar
      Revert the test moves from 176733. Use "REQUIRES: asserts" instead. · 6dc30760
      Jan Wen Voung authored
      llvm-svn: 176873
      6dc30760
    • Dan Gohman's avatar
      Change the order of the operands in patchAndReplaceAllUsesWith so · 00253592
      Dan Gohman authored
      that they're more consistent with Value::replaceAllUsesWith.
      
      llvm-svn: 176872
      00253592
    • Hal Finkel's avatar
      Don't reserve R2 on Darwin/PPC · 01271c60
      Hal Finkel authored
      Now that only the register-scavenger version of the CR spilling code remains,
      we no longer need the Darwin R2 hack. Darwin can use R0 as a spare register in
      any case where the System V ABI uses it (R0 is special architecturally, and so
      is reserved under all common ABIs).
      
      A few test cases needed to be updated to reflect the register-allocation changes.
      
      llvm-svn: 176868
      01271c60
    • Hal Finkel's avatar
      PPC should always use the register scavenger for CR spilling · e154c8f2
      Hal Finkel authored
      This removes the -disable-ppc[32|64]-regscavenger options; the code
      that uses the register scavenger has been working well (and has been the default)
      for some time, and we don't need options to enable the old (broken) CR spilling code.
      
      llvm-svn: 176865
      e154c8f2
    • Patrik Hagglund's avatar
      Small fix for cost analysis of ptrtoint. · 3eaa4b93
      Patrik Hagglund authored
      This seems to be a "copy-paste error" introducecd in r156140.
      
      llvm-svn: 176863
      3eaa4b93
    • Patrik Hagglund's avatar
      In r169695, the address space limit for tests was replaced with a data · ba6f3221
      Patrik Hagglund authored
      segment limit. Now, as a complement, add a stack space limit.
      
      Otherwise, tests may grow undesirable large at inifinite
      recursion. (Seen at r176838,
      test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll)
      
      llvm-svn: 176862
      ba6f3221
    • Matthew Curtis's avatar
      ReleaseNotes: Add Hexagon Target section · e2228a70
      Matthew Curtis authored
      And mention removal of hexagonv2 and hexagonv3 support (r176859).
      
      llvm-svn: 176860
      e2228a70
    • 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