Skip to content
  1. Jan 01, 2014
    • Rafael Espindola's avatar
      Remove the 's' DataLayout specification · 6994fdf3
      Rafael Espindola authored
      During the years there have been some attempts at figuring out how to
      align byval arguments. A look at the commit log suggests that they
      were
      
      * Use the ABI alignment.
      * When that was not sufficient for x86-64, I added the 's' specification to
        DataLayout.
      * When that was not sufficient Evan added the virtual getByValTypeAlignment.
      * When even that was not sufficient, we just got the FE to add the alignment
        to the byval.
      
      This patch is just a simple cleanup that removes my first attempt at fixing the
      problem. I also added an AArch64 implementation of getByValTypeAlignment to
      make sure this patch is a nop. I also left the 's' parsing for backward
      compatibility.
      
      I will send a short email to llvmdev about the change for anyone maintaining
      an out of tree target.
      
      llvm-svn: 198287
      6994fdf3
  2. Oct 17, 2013
  3. May 01, 2013
    • Filip Pizlo's avatar
      This patch breaks up Wrap.h so that it does not have to include all of · dec20e43
      Filip Pizlo authored
      the things, and renames it to CBindingWrapping.h.  I also moved 
      CBindingWrapping.h into Support/.
      
      This new file just contains the macros for defining different wrap/unwrap 
      methods.
      
      The calls to those macros, as well as any custom wrap/unwrap definitions 
      (like for array of Values for example), are put into corresponding C++ 
      headers.
      
      Doing this required some #include surgery, since some .cpp files relied 
      on the fact that including Wrap.h implicitly caused the inclusion of a 
      bunch of other things.
      
      This also now means that the C++ headers will include their corresponding 
      C API headers; for example Value.h must include llvm-c/Core.h.  I think 
      this is harmless, since the C API headers contain just external function 
      declarations and some C types, so I don't believe there should be any 
      nasty dependency issues here.
      
      llvm-svn: 180881
      dec20e43
  4. Apr 23, 2013
  5. Jan 05, 2013
    • Chandler Carruth's avatar
      Convert the TargetTransformInfo from an immutable pass with dynamic · 539edf4e
      Chandler Carruth authored
      interfaces which could be extracted from it, and must be provided on
      construction, to a chained analysis group.
      
      The end goal here is that TTI works much like AA -- there is a baseline
      "no-op" and target independent pass which is in the group, and each
      target can expose a target-specific pass in the group. These passes will
      naturally chain allowing each target-specific pass to delegate to the
      generic pass as needed.
      
      In particular, this will allow a much simpler interface for passes that
      would like to use TTI -- they can have a hard dependency on TTI and it
      will just be satisfied by the stub implementation when that is all that
      is available.
      
      This patch is a WIP however. In particular, the "stub" pass is actually
      the one and only pass, and everything there is implemented by delegating
      to the target-provided interfaces. As a consequence the tools still have
      to explicitly construct the pass. Switching targets to provide custom
      passes and sinking the stub behavior into the NoTTI pass is the next
      step.
      
      llvm-svn: 171621
      539edf4e
  6. 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
  7. 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
  8. Nov 01, 2012
    • Chandler Carruth's avatar
      Revert the series of commits starting with r166578 which introduced the · 7ec5085e
      Chandler Carruth authored
      getIntPtrType support for multiple address spaces via a pointer type,
      and also introduced a crasher bug in the constant folder reported in
      PR14233.
      
      These commits also contained several problems that should really be
      addressed before they are re-committed. I have avoided reverting various
      cleanups to the DataLayout APIs that are reasonable to have moving
      forward in order to reduce the amount of churn, and minimize the number
      of commits that were reverted. I've also manually updated merge
      conflicts and manually arranged for the getIntPtrType function to stay
      in DataLayout and to be defined in a plausible way after this revert.
      
      Thanks to Duncan for working through this exact strategy with me, and
      Nick Lewycky for tracking down the really annoying crasher this
      triggered. (Test case to follow in its own commit.)
      
      After discussing with Duncan extensively, and based on a note from
      Micah, I'm going to continue to back out some more of the more
      problematic patches in this series in order to ensure we go into the
      LLVM 3.2 branch with a reasonable story here. I'll send a note to
      llvmdev explaining what's going on and why.
      
      Summary of reverted revisions:
      
      r166634: Fix a compiler warning with an unused variable.
      r166607: Add some cleanup to the DataLayout changes requested by
               Chandler.
      r166596: Revert "Back out r166591, not sure why this made it through
               since I cancelled the command. Bleh, sorry about this!
      r166591: Delete a directory that wasn't supposed to be checked in yet.
      r166578: Add in support for getIntPtrType to get the pointer type based
               on the address space.
      llvm-svn: 167221
      7ec5085e
  9. Oct 24, 2012
  10. Oct 19, 2012
  11. Oct 18, 2012
    • Bob Wilson's avatar
      Temporarily revert the TargetTransform changes. · d6d9ccca
      Bob Wilson authored
      The TargetTransform changes are breaking LTO bootstraps of clang.  I am
      working with Nadav to figure out the problem, but I am reverting it for now
      to get our buildbots working.
      
      This reverts svn commits: 165665 165669 165670 165786 165787 165997
      and I have also reverted clang svn 165741
      
      llvm-svn: 166168
      d6d9ccca
  12. Oct 15, 2012
  13. Oct 11, 2012
  14. Oct 08, 2012
  15. Oct 05, 2012
  16. Jul 25, 2011
  17. Jul 18, 2011
  18. Jul 15, 2011
  19. Feb 18, 2011
  20. Oct 07, 2010
  21. Jan 09, 2010
    • Chris Lattner's avatar
      "In order to ease automatic bindings generation, it would be helpful if... · 25963c61
      Chris Lattner authored
      "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for."
      
      Patch by James Y Knight!
      
      llvm-svn: 93079
      25963c61
  22. Dec 28, 2009
  23. Aug 13, 2009
  24. May 09, 2009
  25. Jan 12, 2009
  26. Apr 04, 2008
  27. Mar 16, 2008
Loading