Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fold immediates into stores in simple cases, this produces diffs like | Chris Lattner | 2008-10-15 | 1 | -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 Kremenek | 2008-10-15 | 2 | -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 Lattner | 2008-10-15 | 1 | -0/+4 |
| | | | | llvm-svn: 57553 | ||||
* | Some minor cleanups: | Chris Lattner | 2008-10-15 | 1 | -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 Lattner | 2008-10-15 | 1 | -19/+18 |
| | | | | llvm-svn: 57551 | ||||
* | Use X86FastEmitCompare for FCMP_OEQ and FCMP_UNE: it doesn't | Chris Lattner | 2008-10-15 | 1 | -17/+8 |
| | | | | | | change the generated code, but makes the code simpler. llvm-svn: 57550 | ||||
* | refactor compare emission out into a new X86FastEmitCompare method, | Chris Lattner | 2008-10-15 | 1 | -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 of | Chris Lattner | 2008-10-15 | 1 | -3/+36 |
| | | | | | | loading 4 into a register and then doing the compare. llvm-svn: 57548 | ||||
* | more minor refactoring of X86SelectBranch, no functionality change. | Chris Lattner | 2008-10-15 | 1 | -13/+11 |
| | | | | llvm-svn: 57547 | ||||
* | factor buildmi calls in X86SelectBranch | Chris Lattner | 2008-10-15 | 1 | -89/+30 |
| | | | | llvm-svn: 57546 | ||||
* | factor some more BuildMI's in X86SelectCmp | Chris Lattner | 2008-10-15 | 1 | -92/+30 |
| | | | | llvm-svn: 57545 | ||||
* | factor some BuildMI calls, no functionality change. | Chris Lattner | 2008-10-15 | 1 | -46/+56 |
| | | | | llvm-svn: 57544 | ||||
* | Adjust whitespace in debug messages to be more consistent | Dan Gohman | 2008-10-15 | 2 | -5/+5 |
| | | | | | | with other debug messages. llvm-svn: 57543 | ||||
* | - Add target lowering hooks that specify which setcc conditions are illegal, | Evan Cheng | 2008-10-15 | 5 | -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 Kyrtzidis | 2008-10-15 | 10 | -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 Dunbar | 2008-10-15 | 1 | -1/+0 |
| | | | | llvm-svn: 57540 | ||||
* | FastISel support for exception-handling constructs. | Dan Gohman | 2008-10-14 | 8 | -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 Dunbar | 2008-10-14 | 3 | -4/+7 |
| | | | | | | Update LangRef to mention \xx quoting in names. llvm-svn: 57538 | ||||
* | Change getLLVMName to use raw_ostream & PrintLLVMName. | Daniel Dunbar | 2008-10-14 | 1 | -59/+15 |
| | | | | | | | | - Avoids duplicated quotification code. - Remove QuoteNameIfNeeded. - No functionality change. llvm-svn: 57537 | ||||
* | Add llvm::hexdigit to StringExtras (number -> hexadecimal char) | Daniel Dunbar | 2008-10-14 | 1 | -4/+7 |
| | | | | llvm-svn: 57536 | ||||
* | Add some ReleaseNotes on clang codegen. | Daniel Dunbar | 2008-10-14 | 1 | -1/+23 |
| | | | | llvm-svn: 57535 | ||||
* | Remove Stacker.html from Xcode project. | Daniel Dunbar | 2008-10-14 | 1 | -2/+0 |
| | | | | llvm-svn: 57534 | ||||
* | Downgrade incompatibilities with objc qualified types (e.g. id <P>) to warnings. | Steve Naroff | 2008-10-14 | 11 | -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 synonym | Dale Johannesen | 2008-10-14 | 1 | -0/+1 |
| | | | | | | | | for pentium). Fixes gcc.target/i386/20000720-1.c gcc.target/i386/pr26826.c llvm-svn: 57528 | ||||
* | Rename LoadX to LoadExt. | Evan Cheng | 2008-10-14 | 14 | -70/+70 |
| | | | | llvm-svn: 57526 | ||||
* | Update ARM Insn encoding to get endian-ness to match the documentation (31-0 ↵ | Jim Grosbach | 2008-10-14 | 2 | -61/+57 |
| | | | | | | left to right) llvm-svn: 57524 | ||||
* | Remove dead code. | Devang Patel | 2008-10-14 | 1 | -3/+0 |
| | | | | llvm-svn: 57522 | ||||
* | Fix command-line option printing to print two spaces where needed, | Dan Gohman | 2008-10-14 | 26 | -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 Dunbar | 2008-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 57520 | ||||
* | Document attributes changes. | Devang Patel | 2008-10-14 | 1 | -1/+17 |
| | | | | llvm-svn: 57518 | ||||
* | Add VMKit notes. | Nicolas Geoffray | 2008-10-14 | 1 | -4/+22 |
| | | | | llvm-svn: 57517 | ||||
* | Combine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible. | Evan Cheng | 2008-10-14 | 2 | -1/+75 |
| | | | | llvm-svn: 57515 | ||||
* | Revert my previous change, got stupidly confused with my local changes. | Argyrios Kyrtzidis | 2008-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 57514 | ||||
* | - Somehow I forgot about one / une. | Evan Cheng | 2008-10-14 | 2 | -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 Kyrtzidis | 2008-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 57511 | ||||
* | Fix indentation. | Evan Cheng | 2008-10-14 | 1 | -2/+2 |
| | | | | llvm-svn: 57508 | ||||
* | Optimize anding of two fcmp into a single fcmp if the operands are the same. ↵ | Evan Cheng | 2008-10-14 | 2 | -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 Gohman | 2008-10-14 | 1 | -1/+4 |
| | | | | llvm-svn: 57505 | ||||
* | HTML syntax fixes. | Dan Gohman | 2008-10-14 | 4 | -38/+38 |
| | | | | llvm-svn: 57503 | ||||
* | Add serialization support in several missing places. | Daniel Dunbar | 2008-10-14 | 3 | -0/+123 |
| | | | | llvm-svn: 57502 | ||||
* | Move Type::EmitImpl into header, add FIXME to make abstract. | Daniel Dunbar | 2008-10-14 | 2 | -5/+4 |
| | | | | llvm-svn: 57501 | ||||
* | Fix missing end tags and invalid HTML entity syntax. | Dan Gohman | 2008-10-14 | 1 | -53/+58 |
| | | | | llvm-svn: 57500 | ||||
* | Fix typo in testcase. | Daniel Dunbar | 2008-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 57499 | ||||
* | Add a missing close-tag. | Dan Gohman | 2008-10-14 | 1 | -0/+1 |
| | | | | llvm-svn: 57497 | ||||
* | Fix a few close tags. | Dan Gohman | 2008-10-14 | 1 | -2/+2 |
| | | | | llvm-svn: 57496 | ||||
* | Fix a typo. | Dan Gohman | 2008-10-14 | 1 | -1/+1 |
| | | | | llvm-svn: 57495 | ||||
* | Add a brief mention of the new free-list management code. | Dan Gohman | 2008-10-14 | 1 | -3/+3 |
| | | | | llvm-svn: 57490 | ||||
* | minor corrections, improved formatting | Gabor Greif | 2008-10-14 | 1 | -12/+12 |
| | | | | llvm-svn: 57486 | ||||
* | typo and formatting tweaks | Gabor Greif | 2008-10-14 | 1 | -8/+9 |
| | | | | llvm-svn: 57485 | ||||
* | little optimization: reuse getPointerToGlobalIfAvailable(CGV) value in ↵ | Nuno Lopes | 2008-10-14 | 1 | -1/+1 |
| | | | | | | emitGlobals() llvm-svn: 57484 |