summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fold immediates into stores in simple cases, this produces diffs like Chris Lattner2008-10-151-30/+46
| | | | | | | | | | this: - movl $0, %eax - movl %eax, _yy_n_chars + movl $0, _yy_n_chars llvm-svn: 57555
* Enhance dead store checker to not flag preincrements to dead variables where ↵Ted Kremenek2008-10-152-1/+14
| | | | | | the preincrement is a subexpression, e.g. foo(++x); This can cause false negatives, but will remove a whole class of false positives. llvm-svn: 57554
* fold compare of null pointer into compare with 0.Chris Lattner2008-10-151-0/+4
| | | | llvm-svn: 57553
* Some minor cleanups:Chris Lattner2008-10-151-40/+30
| | | | | | | | | | | | | 1. Compute action in X86SelectSelect based on MVT instead of type. 2. Use TLI.getValueType(..) instead of MVT::getVT(..) because the former handles pointers and the later doesn't. 3. Don't pass TLI into isTypeLegal, since it already has access to it as an ivar. #2 gives fast isel some minor new functionality: handling load/stores of pointers. llvm-svn: 57552
* Use switch on VT instead of Type* comparisons.Chris Lattner2008-10-151-19/+18
| | | | llvm-svn: 57551
* Use X86FastEmitCompare for FCMP_OEQ and FCMP_UNE: it doesn'tChris Lattner2008-10-151-17/+8
| | | | | | change the generated code, but makes the code simpler. llvm-svn: 57550
* refactor compare emission out into a new X86FastEmitCompare method,Chris Lattner2008-10-151-29/+49
| | | | | | | | which makes it easy to share the compare/imm folding logic with 'setcc'. This shaves a bunch of instructions off the common select case, which happens a lot in llvm-gcc. llvm-svn: 57549
* Fold immediates into compares when possible, producing "cmp $4, %eax" instead ofChris Lattner2008-10-151-3/+36
| | | | | | loading 4 into a register and then doing the compare. llvm-svn: 57548
* more minor refactoring of X86SelectBranch, no functionality change.Chris Lattner2008-10-151-13/+11
| | | | llvm-svn: 57547
* factor buildmi calls in X86SelectBranchChris Lattner2008-10-151-89/+30
| | | | llvm-svn: 57546
* factor some more BuildMI's in X86SelectCmpChris Lattner2008-10-151-92/+30
| | | | llvm-svn: 57545
* factor some BuildMI calls, no functionality change.Chris Lattner2008-10-151-46/+56
| | | | llvm-svn: 57544
* Adjust whitespace in debug messages to be more consistentDan Gohman2008-10-152-5/+5
| | | | | | with other debug messages. llvm-svn: 57543
* - Add target lowering hooks that specify which setcc conditions are illegal,Evan Cheng2008-10-155-26/+114
| | | | | | | | | | | i.e. conditions that cannot be checked with a single instruction. For example, SETONE and SETUEQ on x86. - Teach legalizer to implement *illegal* setcc as a and / or of a number of legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ. - Move x86 target over. llvm-svn: 57542
* Simplify handling of struct/union/class tags.Argyrios Kyrtzidis2008-10-1510-94/+49
| | | | | | | Instead of using two sets of Decl kinds (Struct/Union/Class and CXXStruct/CXXUnion/CXXClass), use one 'Record' and one 'CXXRecord' Decl kind and make tag kind a property of TagDecl. Cleans up the code a bit and better reflects that Decl class structure. llvm-svn: 57541
* Test commit.Daniel Dunbar2008-10-151-1/+0
| | | | llvm-svn: 57540
* FastISel support for exception-handling constructs.Dan Gohman2008-10-148-60/+178
| | | | | | | | | - Move the EH landing-pad code and adjust it so that it works with FastISel as well as with SDISel. - Add FastISel support for @llvm.eh.exception and @llvm.eh.selector. llvm-svn: 57539
* Prevent assert when using '"' in names (via hexadecimal).Daniel Dunbar2008-10-143-4/+7
| | | | | | Update LangRef to mention \xx quoting in names. llvm-svn: 57538
* Change getLLVMName to use raw_ostream & PrintLLVMName.Daniel Dunbar2008-10-141-59/+15
| | | | | | | | - Avoids duplicated quotification code. - Remove QuoteNameIfNeeded. - No functionality change. llvm-svn: 57537
* Add llvm::hexdigit to StringExtras (number -> hexadecimal char)Daniel Dunbar2008-10-141-4/+7
| | | | llvm-svn: 57536
* Add some ReleaseNotes on clang codegen.Daniel Dunbar2008-10-141-1/+23
| | | | llvm-svn: 57535
* Remove Stacker.html from Xcode project.Daniel Dunbar2008-10-141-2/+0
| | | | llvm-svn: 57534
* Downgrade incompatibilities with objc qualified types (e.g. id <P>) to warnings.Steve Naroff2008-10-1411-32/+88
| | | | | | Note: One day, we should consider moving the actual diags to ObjCQualifiedIdTypesAreCompatible(), since it has more information on the actual problem. GCC currently emits slightly more instructive errors for some cases involving protocols. I added a FIXME to the code. llvm-svn: 57529
* Accept -march=i586, because gcc does (a synonymDale Johannesen2008-10-141-0/+1
| | | | | | | | for pentium). Fixes gcc.target/i386/20000720-1.c gcc.target/i386/pr26826.c llvm-svn: 57528
* Rename LoadX to LoadExt.Evan Cheng2008-10-1414-70/+70
| | | | llvm-svn: 57526
* Update ARM Insn encoding to get endian-ness to match the documentation (31-0 ↵Jim Grosbach2008-10-142-61/+57
| | | | | | left to right) llvm-svn: 57524
* Remove dead code.Devang Patel2008-10-141-3/+0
| | | | llvm-svn: 57522
* Fix command-line option printing to print two spaces where needed,Dan Gohman2008-10-1426-43/+43
| | | | | | | | | instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. llvm-svn: 57521
* Fix const qualifiers on ProtocolQualifierListTy.Daniel Dunbar2008-10-141-1/+1
| | | | llvm-svn: 57520
* Document attributes changes.Devang Patel2008-10-141-1/+17
| | | | llvm-svn: 57518
* Add VMKit notes.Nicolas Geoffray2008-10-141-4/+22
| | | | llvm-svn: 57517
* Combine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible.Evan Cheng2008-10-142-1/+75
| | | | llvm-svn: 57515
* Revert my previous change, got stupidly confused with my local changes.Argyrios Kyrtzidis2008-10-141-1/+1
| | | | llvm-svn: 57514
* - Somehow I forgot about one / une.Evan Cheng2008-10-142-10/+30
| | | | | | | - Renumber fcmp predicates to match their icmp counterparts. - Try swapping operands to expose more optimization opportunities. llvm-svn: 57513
* Fix a call to Sema::LookupDecl that had incorrect parameters.Argyrios Kyrtzidis2008-10-141-1/+1
| | | | llvm-svn: 57511
* Fix indentation.Evan Cheng2008-10-141-2/+2
| | | | llvm-svn: 57508
* Optimize anding of two fcmp into a single fcmp if the operands are the same. ↵Evan Cheng2008-10-142-3/+137
| | | | | | | | | e.g. uno && ueq -> ueq ord && olt -> olt ord && ueq -> oeq llvm-svn: 57507
* Mention a few methods in ConstantSDNode that were renamed.Dan Gohman2008-10-141-1/+4
| | | | llvm-svn: 57505
* HTML syntax fixes.Dan Gohman2008-10-144-38/+38
| | | | llvm-svn: 57503
* Add serialization support in several missing places.Daniel Dunbar2008-10-143-0/+123
| | | | llvm-svn: 57502
* Move Type::EmitImpl into header, add FIXME to make abstract.Daniel Dunbar2008-10-142-5/+4
| | | | llvm-svn: 57501
* Fix missing end tags and invalid HTML entity syntax.Dan Gohman2008-10-141-53/+58
| | | | llvm-svn: 57500
* Fix typo in testcase.Daniel Dunbar2008-10-141-1/+1
| | | | llvm-svn: 57499
* Add a missing close-tag.Dan Gohman2008-10-141-0/+1
| | | | llvm-svn: 57497
* Fix a few close tags.Dan Gohman2008-10-141-2/+2
| | | | llvm-svn: 57496
* Fix a typo.Dan Gohman2008-10-141-1/+1
| | | | llvm-svn: 57495
* Add a brief mention of the new free-list management code.Dan Gohman2008-10-141-3/+3
| | | | llvm-svn: 57490
* minor corrections, improved formattingGabor Greif2008-10-141-12/+12
| | | | llvm-svn: 57486
* typo and formatting tweaksGabor Greif2008-10-141-8/+9
| | | | llvm-svn: 57485
* little optimization: reuse getPointerToGlobalIfAvailable(CGV) value in ↵Nuno Lopes2008-10-141-1/+1
| | | | | | emitGlobals() llvm-svn: 57484
OpenPOWER on IntegriCloud