Skip to content
  1. Jul 10, 2009
  2. Jul 09, 2009
  3. Jun 27, 2009
    • David Greene's avatar
      · 8f6f72cc
      David Greene authored
      Add feature flags for AVX and FMA and fix some SSE4A feature flag
      initialization problems.
      
      llvm-svn: 74350
      8f6f72cc
  4. Jun 09, 2009
  5. 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
  6. May 20, 2009
  7. Apr 25, 2009
  8. 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
  9. Feb 28, 2009
  10. 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
  11. Feb 02, 2009
  12. Feb 01, 2009
  13. Jan 25, 2009
  14. Jan 15, 2009
  15. Jan 05, 2009
  16. Jan 03, 2009
  17. Jan 02, 2009
  18. Dec 16, 2008
  19. Dec 08, 2008
  20. Dec 05, 2008
Loading