summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Teach an instcombine to not pull trunc instructions through PHI nodesChris Lattner2009-11-081-10/+30
| | | | | | | | | when both the source and dest are illegal types, since it would cause the phi to grow (for example, we shouldn't transform test14b's phi to a phi on i320). This fixes an infinite loop on i686 bootstrap with phi slicing turned on, so turn it back on. llvm-svn: 86483
* Revert commit 81144, and add a comment. It caused bugpoint timeoutsDuncan Sands2009-11-081-3/+9
| | | | | | not to work any more on linux. llvm-svn: 86481
* reapply r8644[3-5] with only the scary part Chris Lattner2009-11-081-8/+151
| | | | | | (SliceUpIllegalIntegerPHI) disabled. llvm-svn: 86480
* Speculatively revert r8644[3-5], they seem to be leading to infinite loops inDaniel Dunbar2009-11-081-151/+8
| | | | | | llvm-gcc bootstrap. llvm-svn: 86478
* Add and-not (bic) patterns. Based heavily on patch by Brian Lucas!Anton Korobeynikov2009-11-081-1/+31
| | | | llvm-svn: 86471
* Move OR patterns upper to all logical stuff. No functionality change.Anton Korobeynikov2009-11-081-56/+56
| | | | llvm-svn: 86470
* Some nice peephole patterns. Based on patch by Brian Lucas!Anton Korobeynikov2009-11-081-0/+7
| | | | llvm-svn: 86469
* Print tab before operand of jccAnton Korobeynikov2009-11-081-1/+1
| | | | llvm-svn: 86468
* Fix invalid operand updates & implement post-inc memory operandsAnton Korobeynikov2009-11-082-16/+94
| | | | llvm-svn: 86466
* Throw an error when stack realignment stuff fails instead of silentAnton Korobeynikov2009-11-081-3/+7
| | | | | | code miscompilation llvm-svn: 86463
* Remove ByteswapSCANFResults, it is dead.Daniel Dunbar2009-11-081-76/+0
| | | | llvm-svn: 86458
* Moved some ManagedStatics out of the SlotIndexes header.Lang Hames2009-11-081-2/+28
| | | | llvm-svn: 86446
* teach a couple of instcombine transformations involving PHIs toChris Lattner2009-11-081-8/+151
| | | | | | | | not turn a PHI in a legal type into a PHI of an illegal type, and add a new optimization that breaks up insane integer PHI nodes into small pieces (PR3451). llvm-svn: 86443
* We don't need to byteswap, the interpreter assumes the program is runningNick Lewycky2009-11-081-8/+1
| | | | | | native anyways. This fixes a crash using %d and similar in a scanf statement. llvm-svn: 86440
* Make TargetData::getStringRepresentation spit out native integer types,Chris Lattner2009-11-081-0/+7
| | | | | | this gives llvm-gcc generated modules the right data. llvm-svn: 86435
* Fix the interpreter to not crash due to zeroext/signextNick Lewycky2009-11-081-10/+0
| | | | llvm-svn: 86428
* Use aligned load/store instructions for spilling Q registers when we know ↵Jim Grosbach2009-11-082-8/+25
| | | | | | the stack slot is 128 bit aligned llvm-svn: 86425
* Refactor code.Evan Cheng2009-11-087-127/+67
| | | | llvm-svn: 86423
* Fix MSVC warning ( | with bool and unsigned int).Daniel Dunbar2009-11-071-1/+1
| | | | llvm-svn: 86417
* x86 vector shuffle cleanup/fixes:Nate Begeman2009-11-073-50/+27
| | | | | | | | 1. rename the movhp patfrag to movlhps, since thats what it actually matches 2. eliminate the bogus movhps load and store patterns, they were incorrect. The load transforms are already handled (correctly) by shufps/unpack. 3. revert a recent test change to its correct form. llvm-svn: 86415
* 80-column cleanup of file header commentsJim Grosbach2009-11-0710-13/+16
| | | | llvm-svn: 86408
* Support alignment specifier for NEON vld/vst instructionsJim Grosbach2009-11-075-46/+61
| | | | llvm-svn: 86404
* Improve tail call elimination to handle the switch statement.Nick Lewycky2009-11-072-18/+11
| | | | llvm-svn: 86403
* t2ldrpci_pic can be used for blockaddress as well.Evan Cheng2009-11-072-6/+28
| | | | llvm-svn: 86400
* make instcombine only rewrite a chain of computation Chris Lattner2009-11-071-19/+5
| | | | | | | | | | (eliminating some extends) if the new type of the computation is legal or if both the source and dest are illegal. This prevents instcombine from changing big chains of computation into i64 on 32-bit targets for example. llvm-svn: 86398
* indicate what the native integer types for the target are.Chris Lattner2009-11-0712-19/+19
| | | | | | Please verify. llvm-svn: 86397
* Revert r86359, it is breaking the self host on theChris Lattner2009-11-071-117/+62
| | | | | | llvm-gcc-i386-darwin9 build bot. llvm-svn: 86391
* First try of the post-inc operands handling... Not fully worked, though :(Anton Korobeynikov2009-11-073-11/+87
| | | | llvm-svn: 86386
* Add some dummy support for post-incremented loadsAnton Korobeynikov2009-11-074-4/+97
| | | | llvm-svn: 86385
* Add 8 bit libcalls and make use of them for msp430Anton Korobeynikov2009-11-073-10/+41
| | | | llvm-svn: 86384
* Add few pseudo-source-valuesAnton Korobeynikov2009-11-071-4/+20
| | | | llvm-svn: 86383
* Initial support for addrmode handling. Tests by Brian Lucas!Anton Korobeynikov2009-11-073-68/+239
| | | | llvm-svn: 86382
* Some preliminary variable asmprintingAnton Korobeynikov2009-11-073-7/+92
| | | | llvm-svn: 86381
* Use '.L' for global private prefix (as mspgcc)Anton Korobeynikov2009-11-071-0/+1
| | | | llvm-svn: 86380
* Drop old asmprinter stuffAnton Korobeynikov2009-11-073-17/+20
| | | | llvm-svn: 86379
* It turns out that the testcase in question uncovered subreg-handling bug.Anton Korobeynikov2009-11-072-3/+2
| | | | | | | Add assert in asmprinter to catch such cases and xfail the tests. PR is to be filled. llvm-svn: 86375
* add the ability for TargetData to return information about legal integerChris Lattner2009-11-071-39/+12
| | | | | | | | | | | datatypes on a given CPU. This is intended to allow instcombine and other transformations to avoid converting big sequences of operations to an inconvenient width, and will help clean up after SRoA. See also "Adding legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451. Comments welcome. llvm-svn: 86370
* more cleanup.Chris Lattner2009-11-071-4/+14
| | | | llvm-svn: 86369
* add some missing #includesChris Lattner2009-11-077-5/+9
| | | | llvm-svn: 86367
* rewrite TargetData to use StringRef/raw_ostream instead of thrashing ↵Chris Lattner2009-11-071-39/+59
| | | | | | std::strings. llvm-svn: 86366
* prune #include / layering violationChris Lattner2009-11-071-2/+0
| | | | llvm-svn: 86365
* Make the need-stub variables accurate and consistent. In the case ofJeffrey Yasskin2009-11-073-33/+32
| | | | | | | | | | | | | MachineRelocations, "stub" always refers to a far-call stub or a load-a-faraway-global stub, so this patch adds "Far" to the term. (Other stubs are used for lazy compilation and dlsym address replacement.) The variable was also inconsistent between the positive and negative sense, and the positive sense ("NeedStub") was more demanding than is accurate (since a nearby-enough function can be called directly even if the platform often requires a stub). Since the negative sense causes double-negatives, I switched to "MayNeedFarStub" globally. llvm-svn: 86363
* Fix a couple of shuffle patterns to use movhlps insteadEric Christopher2009-11-071-9/+9
| | | | | | | of movhps as the constraint. Changes optimizations so update testcases as appropriate as well. llvm-svn: 86360
* Teach dead store elimination that certain intrinsics write to memory just likeNick Lewycky2009-11-071-62/+117
| | | | | | a store. llvm-svn: 86359
* reapply 86289, 86278, 86270, 86267, 86266 & 86264 plus a fixChris Lattner2009-11-071-243/+363
| | | | | | | | | (making pred factoring only happen if threading is guaranteed to be successful). This now survives an X86-64 bootstrap of llvm-gcc. llvm-svn: 86355
* Fix PR5421 by APInt'izing switch lowering.Chris Lattner2009-11-072-17/+19
| | | | llvm-svn: 86354
* Oops, FunctionContainsEscapingAllocas is really used to mean two differentNick Lewycky2009-11-071-2/+10
| | | | | | things. Back out part of r86349 for a moment. llvm-svn: 86353
* Dust off tail recursion elimination. Fix a fixme by applying CaptureTrackingNick Lewycky2009-11-071-21/+8
| | | | | | and add a .ll to demo the new capability. llvm-svn: 86349
* llvmc: Add a '-time' option.Mikhail Glushenkov2009-11-073-5/+48
| | | | llvm-svn: 86348
* Trailing whitespace.Mikhail Glushenkov2009-11-071-7/+7
| | | | llvm-svn: 86347
OpenPOWER on IntegriCloud