Skip to content
  1. May 26, 2009
    • Stefanus Du Toit's avatar
      Update CPU capabilities for AMD machines · 96180b53
      Stefanus Du Toit authored
      - added processors k8-sse3, opteron-sse3, athlon64-sse3, amdfam10, and
      barcelona with appropriate sse3/4a levels
      - added FeatureSSE4A for amdfam10 processors
      in X86Subtarget:
      - added hasSSE4A
      - updated AutoDetectSubtargetFeatures to detect SSE4A
      - updated GetCurrentX86CPU to detect family 15 with sse3 as k8-sse3 and
      family 10h as amdfam10
      
      New processor names match those used by gcc.
      
      Patch by Paul Redmond!
      
      llvm-svn: 72434
      96180b53
  2. May 20, 2009
  3. Apr 25, 2009
  4. 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
  5. Feb 28, 2009
  6. Feb 03, 2009
    • Dan Gohman's avatar
      Tevert part of the x86 subtarget logic changes: when -march=x86-64 · 561d1226
      Dan Gohman authored
      is given, override the subtarget settings and enable 64-bit support.
      This restores the earlier behavior, and fixes regressions on
      Non-64-bit-capable x86-32 hosts.
      
      This isn't necessarily the best approach, but the most obvious
      alternative is to require -mcpu=x86-64 or -mattr=+64bit to be used
      with -march=x86-64 when the host doesn't have 64-bit support. This
      makes things little more consistent, but it's less convenient, and
      it has the practical drawback of requiring lots of test changes, so
      I opted for the above approach for now.
      
      llvm-svn: 63642
      561d1226
    • Dan Gohman's avatar
      Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware has · 7403751e
      Dan Gohman authored
      SSE2, however it's possible to disable SSE2, and the subtarget support
      code thinks that if 64-bit implies SSE2 and SSE2 is disabled then
      64-bit should also be disabled. Instead, just mark all the 64-bit
      subtargets as explicitly supporting SSE2.
      
      Also, move the code that makes -march=x86-64 enable 64-bit support by
      default to only apply when there is no explicit subtarget. If you
      need to specify a subtarget and you want 64-bit code, you'll need to
      select a subtarget that supports 64-bit code.
      
      llvm-svn: 63575
      7403751e
  7. Feb 02, 2009
  8. Feb 01, 2009
  9. Jan 25, 2009
  10. Jan 15, 2009
  11. Jan 05, 2009
  12. Jan 03, 2009
  13. Jan 02, 2009
  14. Dec 16, 2008
  15. Dec 08, 2008
  16. Dec 05, 2008
  17. Dec 04, 2008
    • Bill Wendling's avatar
      Temporarily revert r60519. It was causing a bootstrap failure: · 6949f613
      Bill Wendling authored
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c ../../../llvm-gcc.src/libgomp/barrier.c  -fno-common -DPIC -o .libs/barrier.o
      checking for sys/file.h... /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb"
      /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:symbol: "_gomp_tls_key" can't be undefined in a subtraction expression
      make[4]: *** [barrier.lo] Error 1
      make[4]: *** Waiting for unfinished jobs....
      /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../llvm-gcc.src/libgomp/alloc.c -o alloc.o >/dev/null 2>&1
      yes
      checking for sys/param.h... make[3]: *** [all-recursive] Error 1
      make[2]: *** [all] Error 2
      make[1]: *** [all-target-libgomp] Error 2
      make[1]: *** Waiting for unfinished jobs....
      
      llvm-svn: 60527
      6949f613
    • Evan Cheng's avatar
  18. Nov 28, 2008
  19. Oct 14, 2008
  20. Oct 01, 2008
  21. Sep 30, 2008
  22. Jul 16, 2008
  23. Jul 09, 2008
  24. Jul 03, 2008
  25. Jun 02, 2008
  26. May 14, 2008
    • Dale Johannesen's avatar
      Add CommonLinkage; currently tentative definitions · ce4396bc
      Dale Johannesen authored
      are represented as "weak", but there are subtle differences
      in some cases on Darwin, so we need both.  The intent
      is that "common" will behave identically to "weak" unless
      somebody changes their target to do something else.
      No functional change as yet.
      
      llvm-svn: 51118
      ce4396bc
  27. May 13, 2008
  28. May 05, 2008
Loading