Skip to content
  1. Aug 13, 2013
  2. Aug 12, 2013
  3. Aug 06, 2013
  4. Aug 02, 2013
  5. Aug 01, 2013
  6. Jul 27, 2013
  7. Jul 25, 2013
  8. Jul 21, 2013
  9. Jul 19, 2013
  10. Jul 17, 2013
  11. Jul 16, 2013
    • Hal Finkel's avatar
      When the inliner merges allocas, it must keep the larger alignment · 9caa8f7b
      Hal Finkel authored
      For safety, the inliner cannot decrease the allignment on an alloca when
      merging it with another.
      
      I've included two variants of the test case for this: one with DataLayout
      available, and one without. When DataLayout is not available, if only one of
      the allocas uses the default alignment (getAlignment() == 0), then they cannot
      be safely merged.
      
      llvm-svn: 186425
      9caa8f7b
  12. Jul 09, 2013
  13. Jul 06, 2013
  14. Jul 04, 2013
  15. Jul 03, 2013
    • Michael Gottesman's avatar
      Added support in FunctionAttrs for adding relevant function/argument... · 2db11161
      Michael Gottesman authored
      Added support in FunctionAttrs for adding relevant function/argument attributes for the posix call gettimeofday.
      
      This implies annotating it as nounwind and its arguments as nocapture. To be
      conservative, we do not annotate the arguments with noalias since some platforms
      do not have restrict on the declaration for gettimeofday.
      
      llvm-svn: 185502
      2db11161
  16. Jul 02, 2013
  17. Jun 30, 2013
  18. Jun 28, 2013
    • Manman Ren's avatar
      Debug Info: clean up usage of Verify. · 983a16c0
      Manman Ren authored
      No functionality change.
      It should suffice to check the type of a debug info metadata, instead of
      calling Verify. For cases where we know the type of a DI metadata, use
      assert.
      
      Also update testing cases to make them conform to the format of DI classes.
      
      llvm-svn: 185135
      983a16c0
  19. Jun 24, 2013
    • Chandler Carruth's avatar
      Add a flag to defer vectorization into a phase after the inliner and its · 08e1b874
      Chandler Carruth authored
      CGSCC pass manager. This should insulate the inlining decisions from the
      vectorization decisions, however it may have both compile time and code
      size problems so it is just an experimental option right now.
      
      Adding this based on a discussion with Arnold and it seems at least
      worth having this flag for us to both run some experiments to see if
      this strategy is workable. It may solve some of the regressions seen
      with the loop vectorizer.
      
      llvm-svn: 184698
      08e1b874
  20. Jun 22, 2013
  21. Jun 20, 2013
    • Meador Inge's avatar
      Remove the simplify-libcalls pass (finally) · dfb08a2c
      Meador Inge authored
      This commit completely removes what is left of the simplify-libcalls
      pass.  All of the functionality has now been migrated to the instcombine
      and functionattrs passes.  The following C API functions are now NOPs:
      
        1. LLVMAddSimplifyLibCallsPass
        2. LLVMPassManagerBuilderSetDisableSimplifyLibCalls
      
      llvm-svn: 184459
      dfb08a2c
  22. Jun 17, 2013
  23. Jun 15, 2013
  24. Jun 13, 2013
    • Derek Schuff's avatar
      Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses · ec9dc01b
      Derek Schuff authored
      This pass was assuming that if hasAddressTaken() returns false for a
      function, the function's only uses are call sites.  That's not true
      because there can be references by BlockAddresses too.
      
      Fix the pass to handle this case.  Fix
      BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type
      to be changed by RAUW'ing the function with a bitcast of the recreated
      function.
      
      Patch by Mark Seaborn.
      
      llvm-svn: 183933
      ec9dc01b
  25. Jun 12, 2013
  26. Jun 11, 2013
    • Rafael Espindola's avatar
      Change how globalopt handles aliases in llvm.used. · a82555c0
      Rafael Espindola authored
      Instead of a custom implementation of replaceAllUsesWith, we just call
      replaceAllUsesWith and recreate llvm.used and llvm.compiler-used.
      
      This change is particularity interesting because it makes llvm see
      through what clang is doing with static used functions in extern "C"
      contexts. With this change, running clang -O2 in
      
      extern "C" {
        __attribute__((used)) static void foo() {}
      }
      
      produces
      
      @llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to
      i8*)], section "llvm.metadata"
      define internal void @foo() #0 {
      entry:
        ret void
      }
      
      llvm-svn: 183756
      a82555c0
  27. Jun 09, 2013
  28. Jun 07, 2013
  29. Jun 01, 2013
  30. May 14, 2013
  31. May 09, 2013
  32. May 06, 2013
Loading