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 | ||||
* | 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 | ||||
* | 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 | ||||
* | 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 | ||||
* | 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 | ||||
* | - 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 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 | ||||
* | Fix missing end tags and invalid HTML entity syntax. | Dan Gohman | 2008-10-14 | 1 | -53/+58 |
| | | | | llvm-svn: 57500 | ||||
* | 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 | ||||
* | Mention the different constant folders that IRBuilder | Duncan Sands | 2008-10-14 | 1 | -2/+8 |
| | | | | | | can use. llvm-svn: 57483 | ||||
* | new testcase for PR2797 | Chris Lattner | 2008-10-14 | 1 | -0/+9 |
| | | | | llvm-svn: 57481 | ||||
* | add some upgrading notes from Pekka. | Chris Lattner | 2008-10-14 | 1 | -0/+6 |
| | | | | llvm-svn: 57480 | ||||
* | add LSR and frameaddress info. | Chris Lattner | 2008-10-14 | 1 | -7/+14 |
| | | | | llvm-svn: 57478 | ||||
* | Add static analyzer notes. | Ted Kremenek | 2008-10-14 | 1 | -5/+23 |
| | | | | llvm-svn: 57475 | ||||
* | more minor updates | Chris Lattner | 2008-10-14 | 1 | -9/+9 |
| | | | | llvm-svn: 57472 | ||||
* | more changes. | Chris Lattner | 2008-10-13 | 1 | -33/+35 |
| | | | | llvm-svn: 57470 | ||||
* | optimizer and codegen | Chris Lattner | 2008-10-13 | 1 | -33/+64 |
| | | | | llvm-svn: 57468 | ||||
* | more updates. | Chris Lattner | 2008-10-13 | 1 | -12/+37 |
| | | | | llvm-svn: 57466 | ||||
* | When doing the very-late shift-and address-mode optimization, | Dan Gohman | 2008-10-13 | 2 | -0/+41 |
| | | | | | | | | | | | | | | create a new DAG node to represent the new shift to keep the DAG consistent, even though it'll almost always be folded into the address. If a user of the resulting address has multiple uses, the nodes may get revisited by a later MatchAddress call, in which case DAG inconsistencies do matter. This fixes PR2849. llvm-svn: 57465 |