Skip to content
  1. Jan 18, 2012
  2. Jan 17, 2012
  3. Jan 16, 2012
    • Tanya Lattner's avatar
      Add support for OpenCL 1.1 logical operations. · 20248226
      Tanya Lattner authored
      llvm-svn: 148254
      20248226
    • Fariborz Jahanian's avatar
      Fixes a crash during constant folding of a switch and case · 9c882f98
      Fariborz Jahanian authored
      statement which has an unscoped case inside it.
      Patch by Aaron Ballman
      
      llvm-svn: 148243
      9c882f98
    • 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
  4. Jan 14, 2012
    • Douglas Gregor's avatar
      De-virtualize getPreviousDecl() and getMostRecentDecl() when we know · ec9fd13c
      Douglas Gregor authored
      we have a redeclarable type, and only use the new virtual versions
      (getPreviousDeclImpl() and getMostRecentDeclImpl()) when we don't have
      that type information. This keeps us from penalizing users with strict
      type information (and is the moral equivalent of a "final" method).
      
      Plus, settle on the names getPreviousDecl() and getMostRecentDecl()
      throughout.
      
      llvm-svn: 148187
      ec9fd13c
    • Zhongxing Xu's avatar
      Remove a redundant word. · 82846eae
      Zhongxing Xu authored
      llvm-svn: 148179
      82846eae
    • Richard Smith's avatar
      constexpr irgen: Add irgen support for APValue::Struct, APValue::Union, · dafff947
      Richard Smith authored
      APValue::Array and APValue::MemberPointer. All APValue values can now be emitted
      as constants.
      
      Add new CGCXXABI entry point for emitting an APValue MemberPointer. The other
      entrypoints dealing with constant member pointers are no longer necessary and
      will be removed in a later change.
      
      Switch codegen from using EvaluateAsRValue/EvaluateAsLValue to
      VarDecl::evaluateValue. This performs caching and deals with the nasty cases in
      C++11 where a non-const object's initializer can refer indirectly to
      previously-initialized fields within the same object.
      
      Building the intermediate APValue object incurs a measurable performance hit on
      pathological testcases with huge initializer lists, so we continue to build IR
      directly from the Expr nodes for array and record types outside of C++11.
      
      llvm-svn: 148178
      dafff947
  5. Jan 13, 2012
  6. Jan 12, 2012
  7. Jan 11, 2012
  8. Jan 10, 2012
  9. Jan 09, 2012
  10. Jan 08, 2012
  11. Jan 07, 2012
  12. Jan 06, 2012
Loading