Skip to content
  1. Nov 03, 2013
  2. Oct 31, 2013
    • Manman Ren's avatar
      Do not convert "call asm" to "invoke asm" in Inliner. · 87a2adc7
      Manman Ren authored
      Given that backend does not handle "invoke asm" correctly ("invoke asm" will be
      handled by SelectionDAGBuilder::visitInlineAsm, which does not have the right
      setup for LPadToCallSiteMap) and we already made the assumption that inline asm
      does not throw in InstCombiner::visitCallSite, we are going to make the same
      assumption in Inliner to make sure we don't convert "call asm" to "invoke asm".
      
      If it becomes necessary to add support for "invoke asm" later on, we will need
      to modify the backend as well as remove the assumptions that inline asm does
      not throw.
      
      Fix rdar://15317907
      
      llvm-svn: 193808
      87a2adc7
  3. Oct 24, 2013
  4. May 01, 2013
  5. Apr 30, 2013
  6. Apr 23, 2013
  7. Mar 22, 2013
  8. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  9. Dec 03, 2012
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  10. Nov 13, 2012
  11. Oct 08, 2012
  12. Jun 29, 2012
    • Chandler Carruth's avatar
      Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h · aafe0918
      Chandler Carruth authored
      This was always part of the VMCore library out of necessity -- it deals
      entirely in the IR. The .cpp file in fact was already part of the VMCore
      library. This is just a mechanical move.
      
      I've tried to go through and re-apply the coding standard's preferred
      header sort, but at 40-ish files, I may have gotten some wrong. Please
      let me know if so.
      
      I'll be committing the corresponding updates to Clang and Polly, and
      Duncan has DragonEgg.
      
      Thanks to Bill and Eric for giving the green light for this bit of cleanup.
      
      llvm-svn: 159421
      aafe0918
  13. Jun 28, 2012
  14. Jun 09, 2012
  15. Mar 26, 2012
  16. Feb 25, 2012
  17. Feb 06, 2012
  18. Jan 31, 2012
  19. Dec 02, 2011
  20. Nov 20, 2011
  21. Aug 14, 2011
    • Bill Wendling's avatar
      Add inlining for the new EH scheme. · 55421f0c
      Bill Wendling authored
      This builds off of the current scheme, but instead of llvm.eh.exception and
      llvm.eh.selector, it uses the landingpad instruction. And instead of
      llvm.eh.resume, it uses the resume instruction.
      
      Because of the invariants in the landing pad instruction, a lot of code that's
      currently needed to find the appropriate intrinsic calls for an invoke
      instruction won't be needed once we go to the new EH scheme. The "FIXME"s tell
      us what to remove after we switch.
      
      llvm-svn: 137576
      55421f0c
  22. Aug 10, 2011
    • Devang Patel's avatar
      · bb23a4a9
      Devang Patel authored
      Distinguish between two copies of one inlined variable. Take 2.
      
      llvm-svn: 137253
      bb23a4a9
  23. Aug 05, 2011
    • Chandler Carruth's avatar
      Temporarily revert r135528 which distinguishes between two copies of one · 81b7e11c
      Chandler Carruth authored
      inlined variable, based on the discussion in PR10542.
      
      This explodes the runtime of several passes down the pipeline due to
      a large number of "copies" remaining live across a large function. This
      only shows up with both debug and opt, but when it does it creates
      a many-minute compile when self-hosting LLVM+Clang. There are several
      other cases that show these types of regressions.
      
      All of this is tracked in PR10542, and progress is being made on fixing
      the issue. Once its addressed, the re-instated, but until then this
      restores the performance for self-hosting and other opt+debug builds.
      
      Devang, let me know if this causes any trouble, or impedes fixing it in
      any way, and thanks for working on this!
      
      llvm-svn: 136953
      81b7e11c
  24. Jul 30, 2011
  25. Jul 28, 2011
Loading