- Jan 20, 2012
-
-
Kostya Serebryany authored
llvm-svn: 148554
-
- Jan 18, 2012
-
-
Seth Cantrell authored
llvm-svn: 148388
-
Nick Lewycky authored
llvm-svn: 148375
-
Nick Lewycky authored
llvm-svn: 148368
-
Fariborz Jahanian authored
llvm-svn: 148361
-
Fariborz Jahanian authored
patch (slightly revised) by Aaron Ballman. llvm-svn: 148359
-
Douglas Gregor authored
llvm-svn: 148358
-
- Jan 17, 2012
-
-
Eli Friedman authored
Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch by Ruben Van Boxem. llvm-svn: 148340
-
Richard Smith authored
that APValue-based constant emission knows how to emit member pointers. llvm-svn: 148336
-
Dan Gohman authored
llvm-svn: 148331
-
John McCall authored
or whatever else is required for the initialization instead of assuming it can be done with a simple store. Fixes PR11732. llvm-svn: 148325
-
Douglas Gregor authored
generation for Objective-C; it may not be needed. llvm-svn: 148317
-
David Blaikie authored
This allows -Wswitch-enum to find switches that need updating when these enums are modified. llvm-svn: 148281
-
- Jan 16, 2012
-
-
Tanya Lattner authored
llvm-svn: 148254
-
Fariborz Jahanian authored
statement which has an unscoped case inside it. Patch by Aaron Ballman llvm-svn: 148243
-
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
-
- Jan 14, 2012
-
-
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
-
Zhongxing Xu authored
llvm-svn: 148179
-
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
-
- Jan 13, 2012
-
-
Eli Friedman authored
A base subobject type doesn't make sense for unions; don't try to compute it. Based on patch by Yin Ma. Fixes PR11751. llvm-svn: 148093
-
- Jan 12, 2012
-
-
Eric Christopher authored
llvm-svn: 147989
-
Eric Christopher authored
llvm-svn: 147988
-
Akira Hatanaka authored
argument when Offset is initialized. llvm-svn: 147986
-
Akira Hatanaka authored
Remove function MipsABIInfo::GetFloatingPointTy. llvm-svn: 147985
-
- Jan 11, 2012
-
-
Abramo Bagnara authored
llvm-svn: 147933
-
Akira Hatanaka authored
floating point type. llvm-svn: 147894
-
Akira Hatanaka authored
passed in floating point registers. llvm-svn: 147892
-
- Jan 10, 2012
-
-
Akira Hatanaka authored
llvm-svn: 147889
-
Chandler Carruth authored
for the arm-linux-androideabi triple in particular. Also use this to do a better job of selecting soft FP settings. Patch by Evgeniy Stepanov. llvm-svn: 147872
-
Joerg Sonnenberger authored
passing on i386 and does not use registers. llvm-svn: 147856
-
Bill Wendling authored
CFStrings writable. The strings (both Unicode and ASCII) should reside in a read-only section. E.g., __TEXT,__cstring instead of __DATA,__data. This is done by making the global variable created for the strings constant despite the value of that flag. <rdar://problem/10657500> llvm-svn: 147845
-
Eli Friedman authored
Implement the missing pieces of Evaluate for _Complex types. With that complete, remove some code from CGExprConstant which is no longer necessary. While I'm here, a couple minor tweaks to _Complex-in-C++. (Specifically, make _Complex types literal types, and don't warn for _Complex int.) llvm-svn: 147840
-
Fariborz Jahanian authored
c++ objects with non-trivial assignment/copy functions. Also, one additional sema check. // rdar://6137845 llvm-svn: 147817
-
- Jan 09, 2012
-
-
Akira Hatanaka authored
llvm-svn: 147791
-
Akira Hatanaka authored
padding insertion will not work if the coerced type is not a structure. llvm-svn: 147786
-
- Jan 08, 2012
-
-
Fariborz Jahanian authored
c++ object properties. wip. llvm-svn: 147750
-
- Jan 07, 2012
-
-
Fariborz Jahanian authored
with non-trivial copies. // rdar://6137845 llvm-svn: 147735
-
Abramo Bagnara authored
llvm-svn: 147730
-
Akira Hatanaka authored
is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening. llvm-svn: 147699
-
- Jan 06, 2012
-
-
Fariborz Jahanian authored
currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API. llvm-svn: 147691
-