Skip to content
  1. May 12, 2009
  2. May 11, 2009
  3. Mar 07, 2009
    • Duncan Sands's avatar
      Introduce new linkage types linkonce_odr, weak_odr, common_odr · 12da8ce3
      Duncan Sands authored
      and extern_weak_odr.  These are the same as the non-odr versions,
      except that they indicate that the global will only be overridden
      by an *equivalent* global.  In C, a function with weak linkage can
      be overridden by a function which behaves completely differently.
      This means that IP passes have to skip weak functions, since any
      deductions made from the function definition might be wrong, since
      the definition could be replaced by something completely different
      at link time.   This is not allowed in C++, thanks to the ODR
      (One-Definition-Rule): if a function is replaced by another at
      link-time, then the new function must be the same as the original
      function.  If a language knows that a function or other global can
      only be overridden by an equivalent global, it can give it the
      weak_odr linkage type, and the optimizers will understand that it
      is alright to make deductions based on the function body.  The
      code generators on the other hand map weak and weak_odr linkage
      to the same thing.
      
      llvm-svn: 66339
      12da8ce3
  4. Feb 07, 2009
  5. Jan 30, 2009
  6. Nov 21, 2008
    • Chris Lattner's avatar
      reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an · dd708345
      Chris Lattner authored
      arbitrary integer width for the count.
      
      llvm-svn: 59823
      dd708345
    • Bill Wendling's avatar
      Revert r59802. It was breaking the build of llvm-gcc: · 4bce2bff
      Bill Wendling authored
      g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o
      ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic'
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic'
      ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic'
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic'
      ../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic'
      ../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic'
      make[3]: *** [llvm-convert.o] Error 1
      make[3]: *** Waiting for unfinished jobs....
      rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
      make[2]: *** [all-stage1-gcc] Error 2
      make[1]: *** [stage1-bubble] Error 2
      make: *** [all] Error 2
      
      llvm-svn: 59809
      4bce2bff
    • Sanjiv Gupta's avatar
      Make mem[cpy,move,set] intrinsics overloaded. · 09a20376
      Sanjiv Gupta authored
      llvm-svn: 59802
      09a20376
  7. Sep 22, 2008
  8. Sep 04, 2008
  9. May 16, 2008
  10. Apr 06, 2008
  11. Dec 29, 2007
  12. Dec 17, 2007
  13. Nov 16, 2007
  14. Oct 16, 2007
  15. Oct 02, 2007
  16. Sep 28, 2007
  17. Sep 07, 2007
  18. Aug 06, 2007
  19. Aug 01, 2007
    • David Greene's avatar
      · 17a5dfe6
      David Greene authored
      New CallInst interface to address GLIBCXX_DEBUG errors caused by
      indexing an empty std::vector.
      
      Updates to all clients.
      
      llvm-svn: 40660
      17a5dfe6
  20. Jul 06, 2007
    • Duncan Sands's avatar
      The exception handling intrinsics return values, · 9d974204
      Duncan Sands authored
      so must be lowered to a value, not nothing at all.
      Subtle point: I made eh_selector return 0 and
      eh_typeid_for return 1.  This means that only
      cleanups (destructors) will be run as the exception
      unwinds [if eh_typeid_for returned 0 then it would
      be as if the first catch always matched, and the
      corresponding handler would be run], which is
      probably want you want in the CBE.
      
      llvm-svn: 37947
      9d974204
  21. Jul 04, 2007
  22. Jun 16, 2007
  23. Jun 12, 2007
  24. Jun 02, 2007
  25. May 26, 2007
  26. May 15, 2007
  27. May 14, 2007
  28. May 12, 2007
  29. Apr 17, 2007
  30. Apr 12, 2007
  31. Apr 10, 2007
  32. Apr 05, 2007
Loading