summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Refactor all the addressing mode selection stuff into the isel loweringChris Lattner2006-11-083-229/+325
| | | | | | class, where it can be used for preinc formation. llvm-svn: 31536
* correct the (currently unused) pattern for lwzu.Chris Lattner2006-11-081-2/+8
| | | | llvm-svn: 31535
* Beautify.Devang Patel2006-11-081-19/+17
| | | | llvm-svn: 31533
* optimize single MBB loops better. In particular, produce:Chris Lattner2006-11-081-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LBB1_57: #bb207.i movl 72(%esp), %ecx movb (%ecx,%eax), %cl movl 80(%esp), %edx movb %cl, 1(%edx,%eax) incl %eax cmpl $143, %eax jne LBB1_57 #bb207.i jmp LBB1_64 #cond_next255.i intead of: LBB1_57: #bb207.i movl 72(%esp), %ecx movb (%ecx,%eax), %cl movl 80(%esp), %edx movb %cl, 1(%edx,%eax) incl %eax cmpl $143, %eax je LBB1_64 #cond_next255.i jmp LBB1_57 #bb207.i This eliminates a branch per iteration of the loop. This hurted PPC particularly, because the extra branch meant another dispatch group for each iteration of the loop. llvm-svn: 31530
* Update new pass managers to use PassManagerAnalysisHelper API.Devang Patel2006-11-071-6/+21
| | | | llvm-svn: 31526
* scalarrepl should not split the two elements of the vsiidx array:Chris Lattner2006-11-071-3/+7
| | | | | | | | | | | | | | | int func(vFloat v0, vFloat v1) { int ii; vSInt32 vsiidx[2]; vsiidx[0] = _mm_cvttps_epi32(v0); vsiidx[1] = _mm_cvttps_epi32(v1); ii = ((int *) vsiidx)[4]; return ii; } This fixes Transforms/ScalarRepl/2006-11-07-InvalidArrayPromote.ll llvm-svn: 31524
* Introduce PassManagerAnalysisHelper.Devang Patel2006-11-071-0/+40
| | | | llvm-svn: 31522
* Add PassManager_New.Devang Patel2006-11-071-0/+41
| | | | llvm-svn: 31521
* Fixed a bug which causes x86 be to incorrectly matchEvan Cheng2006-11-073-5/+30
| | | | | | | | | | | shuffle v, undef, <2, ?, 3, ?> to movhlps It should match to unpckhps instead. Added proper matching code for shuffle v, undef, <2, 3, 2, 3> llvm-svn: 31519
* Add ModulePassManager_New.Devang Patel2006-11-071-1/+54
| | | | llvm-svn: 31517
* Accidently reran commit.Jim Laskey2006-11-071-0/+3
| | | | llvm-svn: 31516
* Add FunctionPassManager_New.Devang Patel2006-11-071-0/+56
| | | | llvm-svn: 31515
* Missed a label map, reverting till covered.Jim Laskey2006-11-071-3/+0
| | | | llvm-svn: 31514
* Add BasicBlockPassManager_New.Devang Patel2006-11-071-0/+56
| | | | llvm-svn: 31513
* Missed a label map, reverting till covered.Jim Laskey2006-11-071-0/+3
| | | | llvm-svn: 31512
* Optionally allow comparison operations from affect DSGraphsAndrew Lenharth2006-11-071-1/+6
| | | | llvm-svn: 31511
* Allow loop detection during debug in forwarding nodes, and revert auxcall ↵Andrew Lenharth2006-11-071-8/+20
| | | | | | patch as it make 176.gcc untenable llvm-svn: 31510
* debug type for DSA TDAndrew Lenharth2006-11-071-1/+1
| | | | llvm-svn: 31509
* 1. Add a pass to fold debug label instructions so a debug info client can detectJim Laskey2006-11-073-48/+94
| | | | | | | | | | | | | empty ranges. 2. Reorg how MachineDebugInfo maintains changes to debug labels. 3. Have dwarf writer use debug label info to simplify scopes and source line coorespondence. 4. Revert the merging of compile units until I can get the bugs ironed out. llvm-svn: 31507
* add a note from viterbiChris Lattner2006-11-071-0/+29
| | | | llvm-svn: 31506
* Enable improved spilling costs by default. This speeds up viterbi on x86Chris Lattner2006-11-071-12/+7
| | | | | | | | by 40%, FreeBench/fourinarow by 20%, and many other programs 10-25%. On PPC, this speeds up fourinarow by 18%, and probably other things as well. llvm-svn: 31504
* Use correct value for float HUGH_VAL.Jim Laskey2006-11-072-6/+6
| | | | llvm-svn: 31500
* Add post-indexed load / store transformations.Evan Cheng2006-11-071-49/+198
| | | | llvm-svn: 31498
* Add a new llcbeta option. This speeds up viterbi from 12.34 to 8.76s onChris Lattner2006-11-071-4/+19
| | | | | | X86. If happy, I'll enable this by default. llvm-svn: 31493
* Unbreak X86/ELF Debugging. Somehow this line got lost in Jim's cleanup.Reid Spencer2006-11-071-0/+2
| | | | llvm-svn: 31492
* Fix PR988 and CodeGen/Generic/2006-11-06-MemIntrinsicExpand.ll.Chris Lattner2006-11-071-1/+1
| | | | | | The low part goes in the first operand of expandop, not the second one. llvm-svn: 31487
* fix encoding of BLRChris Lattner2006-11-071-2/+2
| | | | llvm-svn: 31485
* Remove dead code; added a missing null ptr check.Evan Cheng2006-11-061-32/+1
| | | | llvm-svn: 31478
* add a noteChris Lattner2006-11-061-0/+16
| | | | llvm-svn: 31477
* Tab interferes with uniqueness.Jim Laskey2006-11-061-1/+1
| | | | | | | NOTE: There doesn't seem to be consistency for whether a leading tab is present in a section heading. llvm-svn: 31475
* D'oh - reversed logic.Jim Laskey2006-11-061-1/+1
| | | | llvm-svn: 31474
* Add comment.Evan Cheng2006-11-061-4/+10
| | | | llvm-svn: 31473
* Unbreak VC++ build.Jeff Cohen2006-11-058-17/+25
| | | | llvm-svn: 31464
* Fix a bug in the last patch and convert to && instead of & for logical expr.Reid Spencer2006-11-051-2/+2
| | | | llvm-svn: 31463
* Implement the -enabled-cbe-printf-a feature.Reid Spencer2006-11-051-2/+2
| | | | llvm-svn: 31462
* Remove commented line from earlier debugging.Nick Lewycky2006-11-051-2/+0
| | | | llvm-svn: 31460
* Added pre-indexed store support.Evan Cheng2006-11-051-10/+24
| | | | llvm-svn: 31459
* Added getIndexedStore.Evan Cheng2006-11-051-0/+30
| | | | llvm-svn: 31458
* Live local variables are being dropped because the begin or end labels markingJim Laskey2006-11-041-3/+4
| | | | | | their scope are being deleted. Workaround is to widen scope to full function. llvm-svn: 31454
* Changes to use operand constraints to process two-address instructions.Evan Cheng2006-11-043-50/+140
| | | | llvm-svn: 31453
* encode BLR predicate info for the JITChris Lattner2006-11-043-15/+29
| | | | llvm-svn: 31450
* Go through all kinds of trouble to mark 'blr' as having a predicate operandChris Lattner2006-11-043-12/+62
| | | | | | | | | | that takes a register and condition code. Print these pieces of BLR the right way, even though it is currently set to 'always'. Next up: get the JIT encoding right, then enhance branch folding to produce predicated blr for simple examples. llvm-svn: 31449
* Fixed some spiller bugs exposed by the recent two-address code changes. NowEvan Cheng2006-11-041-21/+53
| | | | | | | | | there may be other def(s) apart from the use&def two-address operand. We need to check if the register reuse for a use&def operand may conflicts with another def. Provide a mean to recover from the conflict if it is detected when the defs are processed later. llvm-svn: 31439
* Describe PPC predicates, which are a pair of CR# and condition.Chris Lattner2006-11-031-0/+4
| | | | llvm-svn: 31438
* initial steps to getting the predicate on PPC::BLR right.Chris Lattner2006-11-031-0/+11
| | | | llvm-svn: 31437
* remove dead varChris Lattner2006-11-031-1/+0
| | | | llvm-svn: 31436
* remove dead/redundant varsChris Lattner2006-11-034-9/+0
| | | | llvm-svn: 31435
* remove redundant/dead varsChris Lattner2006-11-031-2/+0
| | | | llvm-svn: 31434
* remove dead varsChris Lattner2006-11-031-3/+0
| | | | llvm-svn: 31433
* The wrong parameter was being tested to deturmine i32 vs i64Andrew Lenharth2006-11-031-1/+1
| | | | llvm-svn: 31431
OpenPOWER on IntegriCloud