Skip to content
  1. Mar 30, 2012
    • Jakob Stoklund Olesen's avatar
      Reapply 153764 and 153761 with a fix. · 066aba5f
      Jakob Stoklund Olesen authored
      Use an explicit comparator instead of the default.
      
      The sets are sorted, but not using the default comparator. Hopefully,
      this will unbreak the Linux builders.
      
      llvm-svn: 153772
      066aba5f
    • Rafael Espindola's avatar
      Revert 153764 and 153761. They broke a --enable-optimized --enable-assertions · fc060551
      Rafael Espindola authored
      --enable-expensive-checks build.
      
      llvm-svn: 153771
      fc060551
    • Jakob Stoklund Olesen's avatar
      Compress register lists by sharing suffixes. · 569e116d
      Jakob Stoklund Olesen authored
      TableGen emits lists of sub-registers, super-registers, and overlaps. Put
      them all in a single table and use a SequenceToOffsetTable to share
      suffixes.
      
      llvm-svn: 153761
      569e116d
    • Rafael Espindola's avatar
      Handle unreachable code in the dominates functions. This changes users when · a53c46aa
      Rafael Espindola authored
      needed for correctness, but still doesn't clean up code that now unnecessary
      checks for reachability.
      
      llvm-svn: 153755
      a53c46aa
    • Danil Malyshev's avatar
      Re-factored RuntimeDyLd: · 70d22ccb
      Danil Malyshev authored
      1. The main works will made in the RuntimeDyLdImpl with uses the ObjectFile class. RuntimeDyLdMachO and RuntimeDyLdELF now only parses relocations and resolve it. This is allows to make improvements of the RuntimeDyLd more easily. In addition the support for COFF can be easily added.
      
      2. Added ARM relocations to RuntimeDyLdELF.
      
      3. Added support for stub functions for the ARM, allowing to do a long branch.
      
      4. Added support for external functions that are not loaded from the object files, but can be loaded from external libraries. Now MCJIT can correctly execute the code containing the printf, putc, and etc.
      
      5. The sections emitted instead functions, thanks Jim Grosbach. MemoryManager.startFunctionBody() and MemoryManager.endFunctionBody() have been removed.
      6. MCJITMemoryManager.allocateDataSection() and MCJITMemoryManager. allocateCodeSection() used JMM->allocateSpace() instead of JMM->allocateCodeSection() and JMM->allocateDataSection(), because I got an error: "Cannot allocate an allocated block!" with object file contains more than one code or data sections.
      
      llvm-svn: 153754
      70d22ccb
    • Bill Wendling's avatar
      Revert r153694. It was causing failures in the buildbots. · 76fdc4b8
      Bill Wendling authored
      llvm-svn: 153701
      76fdc4b8
  2. Mar 29, 2012
  3. Mar 28, 2012
  4. Mar 27, 2012
    • Jakob Stoklund Olesen's avatar
      Add an MRI::tracksLiveness() flag. · 9c1ad5cb
      Jakob Stoklund Olesen authored
      Late optimization passes like branch folding and tail duplication can
      transform the machine code in a way that makes it expensive to keep the
      register liveness information up to date. There is a fuzzy line between
      register allocation and late scheduling where the liveness information
      degrades.
      
      The MRI::tracksLiveness() flag makes the line clear: While true,
      liveness information is accurate, and can be used for register
      scavenging. Once the flag is false, liveness information is not
      accurate, and can only be used as a hint.
      
      Late passes generally don't need the liveness information, but they will
      sometimes use the register scavenger to help update it. The scavenger
      enforces strict correctness, and we have to spend a lot of code to
      update register liveness that may never be used.
      
      llvm-svn: 153511
      9c1ad5cb
    • Lang Hames's avatar
      Add a debug option to dump PBQP graphs during register allocation. · 95e021fa
      Lang Hames authored
      llvm-svn: 153483
      95e021fa
    • Bill Wendling's avatar
      Add 'undef's to make SWIG happier. Patch by Baozeng Ding. · 12a98c9f
      Bill Wendling authored
      llvm-svn: 153479
      12a98c9f
  5. Mar 26, 2012
  6. Mar 25, 2012
  7. Mar 24, 2012
    • Rafael Espindola's avatar
      Avoid using dominatedBySlowTreeWalk. · c9dccb11
      Rafael Espindola authored
      llvm-svn: 153398
      c9dccb11
    • Chandler Carruth's avatar
      Refactor the interface to recursively simplifying instructions to be tad · cf1b585f
      Chandler Carruth authored
      bit simpler by handling a common case explicitly.
      
      Also, refactor the implementation to use a worklist based walk of the
      recursive users, rather than trying to use value handles to detect and
      recover from RAUWs during the recursive descent. This fixes a very
      subtle bug in the previous implementation where degenerate control flow
      structures could cause mutually recursive instructions (PHI nodes) to
      collapse in just such a way that From became equal to To after some
      amount of recursion. At that point, we hit the inf-loop that the assert
      at the top attempted to guard against. This problem is defined away when
      not using value handles in this manner. There are lots of comments
      claiming that the WeakVH will protect against just this sort of error,
      but they're not accurate about the actual implementation of WeakVHs,
      which do still track RAUWs.
      
      I don't have any test case for the bug this fixes because it requires
      running the recursive simplification on unreachable phi nodes. I've no
      way to either run this or easily write an input that triggers it. It was
      found when using instruction simplification inside the inliner when
      running over the nightly test-suite.
      
      llvm-svn: 153393
      cf1b585f
    • Rafael Espindola's avatar
      First part of PR12251. Add documentation and verifier support for the range · ef9f5504
      Rafael Espindola authored
      metadata.
      
      llvm-svn: 153359
      ef9f5504
    • Kostya Serebryany's avatar
      add EP_OptimizerLast extension point · e505a5ab
      Kostya Serebryany authored
      llvm-svn: 153353
      e505a5ab
    • Akira Hatanaka's avatar
      Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation · 64ad2cf1
      Akira Hatanaka authored
      entries in the relocation table before they are written out to the file. 
      
      llvm-svn: 153345
      64ad2cf1
  8. Mar 23, 2012
  9. Mar 22, 2012
  10. Mar 21, 2012
  11. Mar 20, 2012
    • Anna Zaks's avatar
      Make sure ImmutableSet never inserts Tombstone/Entry into DenseMap. · a3b666ac
      Anna Zaks authored
      ImmutAVLTree uses random unsigned values as keys into a DenseMap,
      which could possibly happen to be the same value as the Tombstone or
      Entry keys in the DenseMap.
      
      Test case is hard to come up with. We randomly get failures on the
      internal static analyzer bot, which most likely hits this issue
      (hard to be 100% sure without the full stack).
      
      llvm-svn: 153148
      a3b666ac
Loading