summaryrefslogtreecommitdiffstats
path: root/llvm
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
* 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
* 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
* 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
* 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
* - 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 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
* Fix missing end tags and invalid HTML entity syntax.Dan Gohman2008-10-141-53/+58
| | | | llvm-svn: 57500
* 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
* Mention the different constant folders that IRBuilderDuncan Sands2008-10-141-2/+8
| | | | | | can use. llvm-svn: 57483
* new testcase for PR2797Chris Lattner2008-10-141-0/+9
| | | | llvm-svn: 57481
* add some upgrading notes from Pekka.Chris Lattner2008-10-141-0/+6
| | | | llvm-svn: 57480
* add LSR and frameaddress info.Chris Lattner2008-10-141-7/+14
| | | | llvm-svn: 57478
* Add static analyzer notes.Ted Kremenek2008-10-141-5/+23
| | | | llvm-svn: 57475
* more minor updatesChris Lattner2008-10-141-9/+9
| | | | llvm-svn: 57472
* more changes.Chris Lattner2008-10-131-33/+35
| | | | llvm-svn: 57470
* optimizer and codegenChris Lattner2008-10-131-33/+64
| | | | llvm-svn: 57468
* more updates.Chris Lattner2008-10-131-12/+37
| | | | llvm-svn: 57466
* When doing the very-late shift-and address-mode optimization,Dan Gohman2008-10-132-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
OpenPOWER on IntegriCloud