- May 20, 2010
-
-
Dan Gohman authored
llvm-svn: 104232
-
Dan Gohman authored
instructions. llvm-svn: 104231
-
Douglas Gregor authored
llvm-svn: 104230
-
Douglas Gregor authored
llvm-svn: 104229
-
Dan Gohman authored
16-bit and 32-bit pushf and popf. llvm-svn: 104228
-
Douglas Gregor authored
particular issue was the cause of the Boost.Interprocess failures, and in general will lead to horrendous, hard-to-diagnose miscompiles. The assertion itself has survives self-host and a full Boost build, so we are close to eradicating this problem in C++. Note that the assertion is *not* turned on for Objective-C++, where we still have problems with introducing memcpy's of non-POD class types. That part of the assertion will go away as soon as we fix the known issues in Objective-C++. llvm-svn: 104227
-
Abramo Bagnara authored
llvm-svn: 104226
-
Dan Gohman authored
and fix a bug that valgrind noticed where the code would std::swap an element with itself. llvm-svn: 104225
-
Howard Hinnant authored
llvm-svn: 104224
-
Benjamin Kramer authored
llvm-svn: 104223
-
David Chisnall authored
Fix my inability to spell 'continue' and a case where message sends returning non-pointer-sized things were generating invalid IR inside @try blocks. llvm-svn: 104222
-
Abramo Bagnara authored
Renamed misleading getSourceRange -> getLocalSourceRange and getFullSourceRange -> getSourceRange for TypeLoc. llvm-svn: 104220
-
Douglas Gregor authored
subobject. Previously, we could only properly bind to a base class subobject while extending the lifetime of the complete object (of a derived type); for non-static data member subobjects, we could memcpy (!) the result and bind to that, which is rather broken. Now, we pull apart the expression that we're binding to, to figure out which subobject we're accessing, then construct the temporary object (adding a destruction if needed) and, finally, dig out the subobject we actually meant to access. This fixes yet another instance where we were memcpy'ing rather than doing the right thing. However, note the FIXME in references.cpp: there's more work to be done for binding to subobjects, since the AST is incorrectly modeling some member accesses in base classes as lvalues when they are really rvalues. llvm-svn: 104219
-
John McCall authored
llvm-svn: 104218
-
John McCall authored
<rdar://problem/7995494>. llvm-svn: 104217
-
Evan Cheng authored
pipeline stall. It's useful for targets like ARM cortex-a8. NEON has a lot of long latency instructions so a strict register pressure reduction scheduler does not work well. Early experiments show this speeds up some NEON loops by over 30%. llvm-svn: 104216
-
Douglas Gregor authored
class type (that uses a return slot), pass the return slot to the callee directly rather than allocating new storage and trying to copy the object. This appears to have been the cause of the remaining two Boost.Interprocess failures. llvm-svn: 104215
-
Nick Lewycky authored
llvm-svn: 104209
-
Ted Kremenek authored
llvm-svn: 104208
-
Douglas Gregor authored
llvm-svn: 104207
-
Douglas Gregor authored
instance variables: - Use isRecordType() rather than isa<RecordType>(), so that we see through typedefs in ivar types. - Mark the destructor as referenced - Perform C++ access control on the destructor llvm-svn: 104206
-
-
Dan Gohman authored
llvm-svn: 104204
-
Dan Gohman authored
doesn't have a register operand. Also, use I instead of PSI, for consistency with mfence and lfence. llvm-svn: 104203
-
John McCall authored
(the codegen works here, too, but that's annoying to test without execution) llvm-svn: 104202
-
Eric Christopher authored
llvm-svn: 104201
-
Eric Christopher authored
llvm-svn: 104197
-
Bill Wendling authored
llvm-svn: 104196
-
Chris Lattner authored
c++'03 code and variadic support "needs work". llvm-svn: 104195
-
Chris Lattner authored
instead of new[]'d. This greatly reduces the number of new[]'s, and guess what, they were all leaked. This adds a fixme in this hunk: unsigned NumPackArgs = NumFlatArgs - PackBeginIndex; + // FIXME: NumPackArgs shouldn't be negative here??? if (NumPackArgs) - PackArgs = &FlatArgs[PackBeginIndex]; + PackArgs = FlatArgs.data()+PackBeginIndex; where test/SemaTemplate/variadic-class-template-2.cpp is accessing the vector out of range and NumPackArgs is negative. I assume variadic template args are completely hosed. llvm-svn: 104194
-
Chris Lattner authored
be a copy constructor (since it isn't one semantically) and fix the ownership bits it sets to be correct! llvm-svn: 104192
-
Chris Lattner authored
"structure" arg lists, the first step to fixing some massive memory leaks. llvm-svn: 104191
-
Eric Christopher authored
llvm-svn: 104190
-
Daniel Dunbar authored
llvm-svn: 104189
-
Jim Grosbach authored
llvm-svn: 104188
-
Dan Gohman authored
the addressing modes don't make this trivially easy. This allows it to avoid falling into the less precise heuristics in more cases. llvm-svn: 104186
-
Bob Wilson authored
test/Codegen/ARM/reg_sequence.ll but it doesn't affect the generated code because the coalescer cleans it up. Radar 7998853. llvm-svn: 104185
-
Douglas Gregor authored
create a temporary copy of both the "true" and "false" results. Fixes the Boost.Interprocess failures. Daniel did all the hard work of tracking down the issue, I get to type up the trivial fix for this horrible miscompile. llvm-svn: 104184
-
-
Bill Wendling authored
llvm-svn: 104182
-