Skip to content
  1. Sep 03, 2009
  2. Sep 02, 2009
  3. Aug 28, 2009
  4. Aug 12, 2009
  5. Aug 05, 2009
  6. Aug 03, 2009
  7. Jul 19, 2009
  8. Jul 17, 2009
  9. Jul 10, 2009
  10. Jul 09, 2009
  11. 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
  12. Jun 09, 2009
  13. 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
  14. May 20, 2009
  15. Apr 25, 2009
  16. 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
  17. Feb 28, 2009
  18. 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
  19. Feb 02, 2009
  20. Feb 01, 2009
  21. Jan 25, 2009
Loading