Skip to content
  1. Jan 26, 2012
  2. Jan 25, 2012
  3. Jan 24, 2012
  4. Jan 21, 2012
  5. Jan 20, 2012
  6. Jan 18, 2012
  7. Jan 17, 2012
  8. Jan 16, 2012
    • David Chisnall's avatar
      Some improvements to the handling of C11 atomic types: · fa35df62
      David Chisnall authored
      - Add atomic-to/from-nonatomic cast types
      - Emit atomic operations for arithmetic on atomic types
      - Emit non-atomic stores for initialisation of atomic types, but atomic stores and loads for every other store / load
      - Add a __atomic_init() intrinsic which does a non-atomic store to an _Atomic() type.  This is needed for the corresponding C11 stdatomic.h function.
      - Enables the relevant __has_feature() checks.  The feature isn't 100% complete yet, but it's done enough that we want people testing it.
      
      Still to do:
      
      - Make the arithmetic operations on atomic types (e.g. Atomic(int) foo = 1; foo++;) use the correct LLVM intrinsic if one exists, not a loop with a cmpxchg.
      - Add a signal fence builtin
      - Properly set the fenv state in atomic operations on floating point values
      - Correctly handle things like _Atomic(_Complex double) which are too large for an atomic cmpxchg on some platforms (this requires working out what 'correctly' means in this context)
      - Fix the many remaining corner cases
      
      llvm-svn: 148242
      fa35df62
    • David Blaikie's avatar
      Refactor variables unused under non-assert builds. · ca043229
      David Blaikie authored
      llvm-svn: 148229
      ca043229
  9. Jan 14, 2012
  10. Jan 13, 2012
  11. Jan 12, 2012
  12. Jan 11, 2012
  13. Jan 10, 2012
  14. Jan 07, 2012
Loading