Skip to content
  1. Jul 31, 2009
  2. Jul 30, 2009
  3. Jul 27, 2009
  4. Jul 26, 2009
  5. Jul 25, 2009
  6. Jul 15, 2009
  7. Jul 13, 2009
  8. Jun 30, 2009
    • Argyrios Kyrtzidis's avatar
      Remove the ASTContext parameter from the attribute-related methods of Decl. · b4b64ca7
      Argyrios Kyrtzidis authored
      The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
      
      This commit touches a lot of files since call sites for these methods are everywhere.
      I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
      
      llvm-svn: 74501
      b4b64ca7
  9. Jun 18, 2009
  10. Jun 14, 2009
  11. Jun 07, 2009
  12. Jun 06, 2009
  13. Jun 02, 2009
  14. May 28, 2009
  15. May 27, 2009
  16. May 21, 2009
  17. May 18, 2009
  18. May 13, 2009
  19. May 08, 2009
  20. May 03, 2009
  21. Apr 26, 2009
  22. Apr 18, 2009
  23. Apr 13, 2009
  24. Apr 08, 2009
  25. Apr 07, 2009
  26. Feb 16, 2009
    • Daniel Dunbar's avatar
      Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow. · 8eb018ab
      Daniel Dunbar authored
       - Define pow[lf]?, sqrt[lf]? as builtins.
      
       - Add -fmath-errno option which binds to LangOptions.MathErrno
      
       - Add new builtin flag Builtin::Context::isConstWithoutErrno for
         functions which can be marked as const if errno isn't respected for
         math functions. Sema automatically marks these functions as const
         when they are defined, if MathErrno=0.
      
       - IRgen uses const attribute on sqrt and pow library functions to
         decide if it can use the llvm intrinsic.
      
      llvm-svn: 64689
      8eb018ab
    • Daniel Dunbar's avatar
      Fix IRgen of __builtin_memset. · e28b3598
      Daniel Dunbar authored
       - Fix test case to not only have negative tests.
      
      llvm-svn: 64674
      e28b3598
  27. Feb 14, 2009
    • Douglas Gregor's avatar
      Implicitly declare certain C library functions (malloc, strcpy, memmove, · b9063fc1
      Douglas Gregor authored
      etc.) when we perform name lookup on them. This ensures that we
      produce the correct signature for these functions, which has two
      practical impacts:
      
        1) When we're supporting the "implicit function declaration" feature
        of C99, these functions will be implicitly declared with the right
        signature rather than as a function returning "int" with no
        prototype. See PR3541 for the reason why this is important (hint:
        GCC always predeclares these functions).
       
        2) If users attempt to redeclare one of these library functions with
        an incompatible signature, we produce a hard error.
      
      This patch does a little bit of work to give reasonable error
      messages. For example, when we hit case #1 we complain that we're
      implicitly declaring this function with a specific signature, and then
      we give a note that asks the user to include the appropriate header
      (e.g., "please include <stdlib.h> or explicitly declare 'malloc'"). In
      case #2, we show the type of the implicit builtin that was incorrectly
      declared, so the user can see the problem. We could do better here:
      for example, when displaying this latter error message we say
      something like:
      
        'strcpy' was implicitly declared here with type 'char *(char *, char
        const *)'
      
      but we should really print out a fake code line showing the
      declaration, like this:
      
        'strcpy' was implicitly declared here as:
      
          char *strcpy(char *, char const *)
      
      This would also be good for printing built-in candidates with C++
      operator overloading.
      
      The set of C library functions supported by this patch includes all
      functions from the C99 specification's <stdlib.h> and <string.h> that
      (a) are predefined by GCC and (b) have signatures that could cause
      codegen issues if they are treated as functions with no prototype
      returning and int. Future work could extend this set of functions to
      other C library functions that we know about.
      
      llvm-svn: 64504
      b9063fc1
  28. Feb 11, 2009
  29. Feb 05, 2009
  30. Feb 04, 2009
  31. Jan 25, 2009
    • Eli Friedman's avatar
      Make the constant folder aware of · c69d454d
      Eli Friedman authored
      __builtin___CFStringMakeConstantString.  (We get into trouble in 
      GenerateStaticBlockVarDecl if the constant folder isn't accurate.)
      
      llvm-svn: 62949
      c69d454d
  32. Jan 20, 2009
Loading