Skip to content
  1. Jan 11, 2015
  2. Jan 10, 2015
  3. Jan 06, 2015
    • Saleem Abdulrasool's avatar
      Sema: analyze I,J,K,M,N,O constraints · a2823578
      Saleem Abdulrasool authored
      Add additional constraint checking for target specific behaviour for inline
      assembly constraints.  We would previously silently let all arguments through
      for these constraints.  In cases where the constraints were violated, we could
      end up failing to select instructions and triggering assertions or worse,
      silently ignoring instructions.
      
      llvm-svn: 225244
      a2823578
  4. Aug 17, 2014
    • Olivier Goffart's avatar
      Fix assertion on asm register that are "%" · fc8f8931
      Olivier Goffart authored
      Name might be empty again after we removed the '%' prefix
      and Name[0] would assert.
      
      Found on code like
      register int foo asm("%" MACRO);
      where MACRO was supposed to be defined in a header file that was not found.
      
      llvm-svn: 215834
      fc8f8931
  5. Jul 28, 2014
  6. Jul 17, 2014
  7. Jul 15, 2014
  8. Jul 14, 2014
  9. Jul 06, 2014
  10. Jun 25, 2014
  11. May 08, 2014
  12. Mar 27, 2014
    • Saleem Abdulrasool's avatar
      Use the new Windows environment for target detection · 377066a5
      Saleem Abdulrasool authored
      This follows the LLVM change to canonicalise the Windows target triple
      spellings.  Rather than treating each Windows environment as a single entity,
      the environments are now modelled properly as an environment.  This is a
      mechanical change to convert the triple use to reflect that change.
      
      llvm-svn: 204978
      377066a5
  13. Jan 14, 2014
    • Hans Wennborg's avatar
      Remove the -cxx-abi command-line flag. · c9bd88e6
      Hans Wennborg authored
      This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples,
      Itanium otherwise. It's no longer possible to do weird combinations.
      
      To be able to run a test with a specific ABI without constraining it to a
      specific triple, new substitutions are added to lit: %itanium_abi_triple and
      %ms_abi_triple can be used to get the current target triple adjusted to the
      desired ABI. For example, if the test suite is running with the i686-pc-win32
      target, %itanium_abi_triple will expand to i686-pc-mingw32.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2545
      
      llvm-svn: 199250
      c9bd88e6
  14. Dec 18, 2013
  15. Dec 16, 2013
  16. Dec 13, 2013
  17. Sep 13, 2013
    • David Tweed's avatar
      Certain multi-platform languages, such as OpenCL, have the concept of · 31d09b0c
      David Tweed authored
      address spaces which is both (1) a "semantic" concept and
      (2) possibly a hardware level restriction. It is desirable to
      be able to discard/merge the LLVM-level address spaces on arguments for which
      there is no difference to the current backend while keeping
      track of the semantic address spaces in a funciton prototype. To do this
      enable addition of the address space into the name-mangling process. Add
      some tests to document this behaviour against inadvertent changes.
      
      Patch by Michele Scandale!
      
      llvm-svn: 190684
      31d09b0c
  18. Sep 10, 2013
  19. Sep 09, 2013
  20. Sep 05, 2013
    • Stepan Dyatkovskiy's avatar
      Add new methods for TargetInfo: · 5a637922
      Stepan Dyatkovskiy authored
           getRealTypeByWidth and getIntTypeByWidth
        for ASTContext names are almost same(invokes new methods from TargetInfo):
           getIntTypeForBitwidth and getRealTypeForBitwidth.
      
      As first commit for PR16752 fix: 'mode' attribute for unusual targets doesn't work properly
      Description:
      Troubles could be happened due to some assumptions in handleModeAttr function (see SemaDeclAttr.cpp).
      For example, it assumes that 32 bit integer is 'int', while it could be 16 bit only.
      Instead of asking target: 'which type do you want to use for int32_t ?' it just hardcodes general opinion. That doesn't looks pretty correct.
      Please consider the next solution:
      1. In Basic/TargetInfo add getIntTypeByWidth and getRealTypeByWidth virtual methods. By default current behaviour could be implemented here.
      2. Fix handleModeAttr according to new methods in TargetInfo.
      This approach is implemented in the patch attached to this post.
      
      Fixes:
      1st Commit (Current): Add new methods for TargetInfo:
           getRealTypeByWidth and getIntTypeByWidth
        for ASTContext names are almost same(invokes new methods from TargetInfo):
           getIntTypeForBitwidth and getRealTypeForBitwidth
      
      2nd Commit (Next): Fix SemaDeclAttr, handleModeAttr function.
      
      llvm-svn: 190044
      5a637922
  21. Jun 29, 2013
  22. May 06, 2013
    • Ulrich Weigand's avatar
      · fa806422
      Ulrich Weigand authored
      Allow targets to define minimum alignment for global variables
      
      This patch adds a new common code feature that allows platform code to
      request minimum alignment of global symbols.  The background for this is
      that on SystemZ, the most efficient way to load addresses of global symbol
      is the LOAD ADDRESS RELATIVE LONG (LARL) instruction.  This instruction
      provides PC-relative addressing, but only to *even* addresses.  For this
      reason, existing compilers will guarantee that global symbols are always
      aligned to at least 2.  [ Since symbols would otherwise already use a
      default alignment based on their type, this will usually only affect global
      objects of character type or character arrays. ]  GCC also allows creating
      symbols without that extra alignment by using explicit "aligned" attributes
      (which then need to be used on both definition and each use of the symbol).
      
      To enable support for this with Clang, this patch adds a
      TargetInfo::MinGlobalAlign variable that provides a global minimum for the
      alignment of every global object (unless overridden via explicit alignment
      attribute), and adds code to respect this setting.  Within this patch, no
      platform actually sets the value to anything but the default 1, resulting
      in no change in behaviour on any existing target.
      
      This version of the patch incorporates feedback from reviews by
      Eric Christopher and John McCall.  Thanks to all reviewers!
      
      Patch by Richard Sandiford.
      
      llvm-svn: 181210
      fa806422
  23. Apr 19, 2013
  24. Apr 18, 2013
  25. Feb 08, 2013
  26. Jan 25, 2013
  27. Dec 04, 2012
    • Chandler Carruth's avatar
      Sort all of Clang's files under 'lib', and fix up the broken headers · 3a02247d
      Chandler Carruth authored
      uncovered.
      
      This required manually correcting all of the incorrect main-module
      headers I could find, and running the new llvm/utils/sort_includes.py
      script over the files.
      
      I also manually added quite a few missing headers that were uncovered by
      shuffling the order or moving headers up to be main-module-headers.
      
      llvm-svn: 169237
      3a02247d
  28. Nov 27, 2012
  29. Oct 29, 2012
  30. Oct 15, 2012
  31. Jul 14, 2012
  32. Apr 16, 2012
  33. Dec 22, 2011
  34. Dec 16, 2011
  35. Oct 31, 2011
  36. Oct 15, 2011
Loading