- Feb 04, 2010
-
-
Jakob Stoklund Olesen authored
ProcessImplicitDefs would only mark one operand per instruction with <undef>. This fixed PR6086. llvm-svn: 95319
-
Benjamin Kramer authored
llvm-svn: 95318
-
Douglas Gregor authored
ton of potential crashes of the same kind. The fundamental problem is that type creation was following a dangerous pattern when using its FoldingSets: 1) Use FindNodeOrInsertPos to see if the type is available 2) If not, and we aren't looking at a canonical type, build the canonical type 3) Build and insert the new node into the FoldingSet The problem here is that building the canonical type can, in very rare circumstances, force the hash table inside the FoldingSet to reallocate. That invalidates the insertion position we computed in step 1, and in step 3 we end up inserting the new node into the wrong place. BOOM! I've audited all of ASTContext, fixing this problem everywhere I found it. The vast majority of wrong code was C++-specific (and *ahem* written by me), so I also audited other major folding sets in the C++ code (e.g., template specializations), but found no other instances of this problem. llvm-svn: 95315
-
Anders Carlsson authored
With this fix, and the other fixes committed today a make check-all with a clang-built LLVM now gives: Expected Passes : 6933 Expected Failures : 46 Unsupported Tests : 40 Unexpected Failures: 27 which means that we pass 99.96% of all tests :) The resulting 27 tests are all LLVMC tests and seem to be because of differences in the clang and gcc drivers. llvm-svn: 95313
-
Anders Carlsson authored
llvm-svn: 95312
-
Anders Carlsson authored
Fix a bug where we would not mark temporaries as conditional when emitting a conditional operator as an lvalue. llvm-svn: 95311
-
Anders Carlsson authored
llvm-svn: 95310
-
Douglas Gregor authored
template parameter, perform array/function decay (if needed), take the address of the argument (if needed), perform qualification conversions (if needed), and remove any top-level cv-qualifiers from the resulting expression. Fixes PR6226. llvm-svn: 95309
-
Anders Carlsson authored
Rename StartConditionalBranch/FinishConditionalBranch to BeginConditionalBranch/EndConditionalBranch. llvm-svn: 95308
-
Anders Carlsson authored
Fix another pointer-to-member function miscompile, this time when trying to call a virtual member function. llvm-svn: 95307
-
Anders Carlsson authored
llvm-svn: 95306
-
Anders Carlsson authored
llvm-svn: 95305
-
Benjamin Kramer authored
llvm-svn: 95303
-
Torok Edwin authored
This allows to show the explicit files that need to be built/linked to get an LLVM component. llvm-svn: 95300
-
Chris Lattner authored
llvm-svn: 95299
-
Ted Kremenek authored
direct bit manipulation. This is is less error prone, and fixes a bug in the handling of the LeadingZeroes flag as pointed out by Cristian Draghici. llvm-svn: 95298
-
Ted Kremenek authored
llvm-svn: 95297
-
Chris Lattner authored
after r95292 llvm-svn: 95296
-
Evan Cheng authored
llvm-svn: 95295
-
Eric Christopher authored
failure. llvm-svn: 95294
-
Chris Lattner authored
64-bit sparc codegen. Patch by Nathan Keynes! llvm-svn: 95293
-
Chris Lattner authored
"Attached patch removes the extra NUL bytes from the output and changes test/Archive/MacOSX.toc from a binary to a text file (removes svn:mime-type=application/octet-stream and adds svn:eol-style=native). I can't figure out how to get SVN to include the new contents of the file in the patch so I'm attaching it separately." Patch by James Abbatiello! llvm-svn: 95292
-
John McCall authored
llvm-svn: 95291
-
Zhongxing Xu authored
llvm-svn: 95290
-
Ted Kremenek authored
llvm-svn: 95287
-
Ted Kremenek authored
llvm-svn: 95286
-
John McCall authored
llvm-svn: 95284
-
Eric Christopher authored
Fix bugs where we would compute out of bounds as in bounds, and where we couldn't know that the linker could override the size of an array. Add a few new testcases, change existing testcase to use a private global array instead of extern. llvm-svn: 95283
-
Evan Cheng authored
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing). llvm-svn: 95282
-
Dan Gohman authored
than int. This will make it more convenient for LSR, which does a lot of things with int64_t offsets. llvm-svn: 95281
-
Evan Cheng authored
Indirect tail call has to go through a call preserved register since it's after callee register pops. X86 isel lowering is using EAX / R11 and it was somehow adding that to function live out. That prevented the real function return register from being added to the function live out list and bad things happen. This fixes 483.xalancbmk (with tail call opt). llvm-svn: 95280
-
Zhongxing Xu authored
llvm-svn: 95279
-
John McCall authored
llvm-svn: 95275
-
Sean Callanan authored
disassembly library that provide access to instruction information, and fixed ambiguous wording in the comments for the header. llvm-svn: 95274
-
John McCall authored
float literals, and unresolved lookups (which required hand-wavey extensions). llvm-svn: 95273
-
Dan Gohman authored
llvm-svn: 95272
-
Dale Johannesen authored
again, so it more or less handles long double. Restore \n removed in latest MC frenzy. llvm-svn: 95271
-
Victor Hernandez authored
Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated llvm-svn: 95269
-
Ted Kremenek authored
a different return type. While we don't emit any errors (yet), at least we avoid cases where we might crash because of an assertion failure later on (when the return type differs from what is expected). llvm-svn: 95268
-
Fariborz Jahanian authored
the rewriter. (Fixes radar 7607781). llvm-svn: 95267
-