- Feb 05, 2010
-
-
Bill Wendling authored
following it. However, the EmitGlobalConstant method wasn't emitting a body for the constant. The assembler doesn't like that. Before, we were generating this: .zerofill __DATA, __common, __cmd, 1, 3 This fix puts us back to that semantic. llvm-svn: 95336
-
John Thompson authored
llvm-svn: 95335
-
Douglas Gregor authored
category implementation, which showed up during (attempted) typo correction. Fixes <rdar://problem/7605289>. llvm-svn: 95334
-
Bob Wilson authored
short-circuited conditions to AND/OR expressions, and those expressions are often converted back to a short-circuited form in code gen. The original source order may have been optimized to take advantage of the expected values, and if we reassociate them, we change the order and subvert that optimization. Radar 7497329. llvm-svn: 95333
-
- Feb 04, 2010
-
-
John McCall authored
of a C++ record. Exposed a lot of problems where various routines were silently doing The Wrong Thing (or The Acceptable Thing in The Wrong Order) when presented with a non-definition. Also cuts down on memory usage. llvm-svn: 95330
-
Ted Kremenek authored
llvm-svn: 95324
-
Evan Phoenix authored
Instruction selection for X86 now can choose an instruction sequence that will fit any address of any symbol, no matter the pointer width. X86-64 uses a mov+call-via-reg sequence for this. llvm-svn: 95323
-
Evan Cheng authored
llvm-svn: 95322
-
Jakob Stoklund Olesen authored
This makes the inliner about as agressive as it was before my changes to the inliner cost calculations. These levels give the same performance and slightly smaller code than before. llvm-svn: 95320
-
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
-