Skip to content
  1. Jan 06, 2010
    • Duncan Sands's avatar
      Partially address a README by having functionattrs consider calls to · 78376ad7
      Duncan Sands authored
      memcpy, memset and other intrinsics that only access their arguments
      to be readnone if the intrinsic's arguments all point to local memory.
      This improves the testcase in the README to readonly, but it could in
      theory be made readnone, however this would involve more sophisticated
      analysis that looks through the memcpy.
      
      llvm-svn: 92829
      78376ad7
  2. Aug 13, 2009
  3. Aug 11, 2009
  4. Aug 06, 2009
  5. Jul 29, 2009
    • Bob Wilson's avatar
      Fix the verifier to handle intrinsics with LLVMMatchType parameters, where · 1024634d
      Bob Wilson authored
      the return type of the intrinsic is not overloaded, i.e., where the type
      being matched is some other parameter.  The argument to LLVMMatchType is
      an index into the list of overloaded types (ignoring the fixed types),
      but VerifyIntrinsicPrototype is expecting its arguments for LLVMMatchType
      parameters to be indices into the combined list of _all_ return values and
      parameters, not just the overloaded ones.
      
      This patch changes TableGen to keep track for each overloaded type of the
      corresponding index into the list of return values and parameters.  It
      then generates the values expected by VerifyIntrinsicPrototype.
      
      llvm-svn: 77467
      1024634d
  6. Jul 07, 2009
  7. Jul 03, 2009
  8. Jul 01, 2009
  9. Apr 16, 2009
    • Bob Wilson's avatar
      Fix PR3994: LLVMMatchType arguments do not refer to absolute return value · b8c370a8
      Bob Wilson authored
      and argument positions but only to the overloaded intrinsic parameters.
      Keep a separate list of these overloaded parameters in CodeGenTarget.cpp
      so they can be resolved easily.  Remove assertions from IntrinsicEmitter.cpp:
      they were harmless but confusing, and the assertions elsewhere in TableGen
      will catch any incorrect values.
      
      llvm-svn: 69316
      b8c370a8
  10. Mar 26, 2009
  11. Feb 25, 2009
  12. Feb 14, 2009
  13. Feb 05, 2009
  14. Feb 04, 2009
  15. Jan 12, 2009
  16. Jan 07, 2009
  17. Nov 13, 2008
  18. Sep 25, 2008
    • Devang Patel's avatar
      Large mechanical patch. · 4c758ea3
      Devang Patel authored
      s/ParamAttr/Attribute/g
      s/PAList/AttrList/g
      s/FnAttributeWithIndex/AttributeWithIndex/g
      s/FnAttr/Attribute/g
      
      This sets the stage 
      - to implement function notes as function attributes and 
      - to distinguish between function attributes and return value attributes.
      
      This requires corresponding changes in llvm-gcc and clang.
      
      llvm-svn: 56622
      4c758ea3
  19. Jul 30, 2008
  20. Jun 06, 2008
    • Duncan Sands's avatar
      Wrap MVT::ValueType in a struct to get type safety · 13237ac3
      Duncan Sands authored
      and better control the abstraction.  Rename the type
      to MVT.  To update out-of-tree patches, the main
      thing to do is to rename MVT::ValueType to MVT, and
      rewrite expressions like MVT::getSizeInBits(VT) in
      the form VT.getSizeInBits().  Use VT.getSimpleVT()
      to extract a MVT::SimpleValueType for use in switch
      statements (you will get an assert failure if VT is
      an extended value type - these shouldn't exist after
      type legalization).
      This results in a small speedup of codegen and no
      new testsuite failures (x86-64 linux).
      
      llvm-svn: 52044
      13237ac3
  21. Jan 04, 2008
  22. Jan 02, 2008
  23. Dec 29, 2007
  24. Dec 17, 2007
  25. Dec 03, 2007
  26. Sep 28, 2007
  27. Aug 16, 2007
  28. Aug 06, 2007
  29. Aug 04, 2007
    • Chandler Carruth's avatar
      This is the patch to provide clean intrinsic function overloading support in... · 7132e00d
      Chandler Carruth authored
      This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
      
      This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
      
      llvm-svn: 40807
      7132e00d
  30. Jul 26, 2007
  31. Jun 26, 2007
Loading