summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Use the proper type for shift counts. This fixes a bootstrap error.Dan Gohman2010-07-231-1/+4
| | | | llvm-svn: 109265
* IF directory name is empty then try to extract one using absolute file name.Devang Patel2010-07-231-0/+5
| | | | llvm-svn: 109262
* DAGCombine (shl (anyext x, c)) to (anyext (shl x, c)) if the high bitsDan Gohman2010-07-231-1/+21
| | | | | | are not demanded. This often allows the anyext to be folded away. llvm-svn: 109242
* Make SDNode::dump() print a newline at the end.Dan Gohman2010-07-231-0/+1
| | | | llvm-svn: 109234
* 80-col.Eric Christopher2010-07-231-8/+12
| | | | llvm-svn: 109205
* remove the JIT "NeedsExactSize" feature and supporting logic.Chris Lattner2010-07-221-13/+0
| | | | llvm-svn: 109167
* keep in 80 colsGabor Greif2010-07-221-2/+4
| | | | llvm-svn: 109122
* mass elimination of reliance on automatic iterator dereferencingGabor Greif2010-07-223-7/+7
| | | | llvm-svn: 109103
* undo 80 column trespassing I causedGabor Greif2010-07-222-3/+5
| | | | llvm-svn: 109092
* Re-apply r109079 with fix.Evan Cheng2010-07-221-28/+26
| | | | llvm-svn: 109083
* Revert r109079, which broke a lot of CodeGen tests.Owen Anderson2010-07-221-25/+27
| | | | llvm-svn: 109082
* Initial modifications to MCAssembler and TargetMachine for the MCJIT.Reid Kleckner2010-07-221-0/+18
| | | | | | Patch by Olivier Meurant! llvm-svn: 109080
* Initialize RegLimit only when register pressure is being tracked.Evan Cheng2010-07-221-27/+25
| | | | llvm-svn: 109079
* More register pressure aware scheduling work.Evan Cheng2010-07-211-81/+84
| | | | llvm-svn: 109064
* For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumbJim Grosbach2010-07-211-0/+4
| | | | | | rdar://8202967 llvm-svn: 109057
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-2123-43/+45
| | | | llvm-svn: 109045
* 80 column and trailing whitespace cleanupJim Grosbach2010-07-211-171/+173
| | | | llvm-svn: 109037
* Disallow null as a named metadata operand.Dan Gohman2010-07-211-2/+2
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Changed OStream templates to functions on raw_ostream, removed the unused ↵Lang Hames2010-07-212-51/+25
| | | | | | "renderWarnings" function. llvm-svn: 109003
* Teach bottom up pre-ra scheduler to track register pressure. Work in progress.Evan Cheng2010-07-212-22/+242
| | | | llvm-svn: 108991
* Change the createSpiller interface to take a MachineFunctionPass argument.Jakob Stoklund Olesen2010-07-206-60/+64
| | | | | | | | The spillers can pluck the analyses they need from the pass reference. Switch some never-null pointers to references. llvm-svn: 108969
* Implement loop splitting analysis.Jakob Stoklund Olesen2010-07-202-19/+183
| | | | | | | Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. llvm-svn: 108941
* Fix test for switch statements and increaseDale Johannesen2010-07-201-2/+3
| | | | | | threshold a bit per experimentation. llvm-svn: 108935
* Appease the colonials.Jakob Stoklund Olesen2010-07-202-4/+4
| | | | llvm-svn: 108845
* Beginning SplitKit - utility classes for live range splitting.Jakob Stoklund Olesen2010-07-204-1/+261
| | | | | | | | | This is a work in progress. So far we have some basic loop analysis to help determine where it is useful to split a live range around a loop. The actual loop splitting code from Splitter.cpp is also going to move in here. llvm-svn: 108842
* Updated css classes for the pressure table legend.Lang Hames2010-07-201-3/+3
| | | | llvm-svn: 108839
* Oops - I tables render poorly in Chrome without this explicit height ↵Lang Hames2010-07-201-1/+1
| | | | | | specification. llvm-svn: 108824
* Use run-length encoding to represent identical adjacent cells in the pressureLang Hames2010-07-202-34/+104
| | | | | | | | and interval table. Reduces output HTML file sizes by ~80% in my test cases. Also fix access of private member type by << operator. llvm-svn: 108823
* Added support for turning HTML indentation on and off (indentation off by ↵Lang Hames2010-07-202-86/+123
| | | | | | | | default). Reduces output file size ~20% on my test cases. llvm-svn: 108822
* Switched to rendering after allocation (but before rewriting) in PBQP.Lang Hames2010-07-203-38/+77
| | | | | | | Updated renderer to use allocation information from VirtRegMap (if available) to render spilled intervals differently. llvm-svn: 108815
* Don't hoist things out of a large switch inside aDale Johannesen2010-07-201-2/+6
| | | | | | | | | | loop, for the reasons in the comments. This is a major win on 253.perlbmk on ARM Darwin. I expect it to be a good heuristic in general, but it's possible some things will regress; I'll be watching. 7940152. llvm-svn: 108792
* Correct line info for declarations/definitions. Radar 8063111.Stuart Hastings2010-07-191-11/+4
| | | | llvm-svn: 108784
* Fix memory leak reported by valgrind. Devang Patel2010-07-191-23/+31
| | | | | | Do not visit operands of old instruction. Visit all operands of new instruction. llvm-svn: 108767
* After a custom inserter, in a block which has constant instructions,Dan Gohman2010-07-191-0/+1
| | | | | | | update the current basic block in addition to the current insert position, so that they remain consistent. This fixes rdar://8204072. llvm-svn: 108765
* ARM has to provide its own TargetLowering::findRepresentativeClass because ↵Evan Cheng2010-07-191-6/+7
| | | | | | its scalar floating point registers alias its vector registers. llvm-svn: 108761
* Teach computeRegisterProperties() to compute "representative" register class ↵Evan Cheng2010-07-191-0/+52
| | | | | | | | for legal value types. A "representative" register class is the largest legal super-reg register class for a value type. e.g. On i386, GR32 is the rep register class for i8 / i16 / i32; on x86_64 it would be GR64. This property will be used by the register pressure tracking instruction scheduler. llvm-svn: 108735
* Spillers may alter MachineLoopInfo when breaking critical edges, so make itJakob Stoklund Olesen2010-07-194-12/+15
| | | | | | non-const. llvm-svn: 108734
* Fix PR 7662.Devang Patel2010-07-191-0/+1
| | | | | | Do not try to insert local variable info to a DIE used for function declaration. llvm-svn: 108731
* Update CMake build.Benjamin Kramer2010-07-191-0/+1
| | | | llvm-svn: 108700
* Render MachineFunctions to HTML pages, with options to render registerLang Hames2010-07-193-0/+1130
| | | | | | | | pressure estimates and liveness alongside. Still experimental. llvm-svn: 108698
* Remove r108639 now that it is handled by InstCombine instead.Owen Anderson2010-07-191-13/+0
| | | | llvm-svn: 108688
* Target: Give the TargetAsmParser access to the TargetMachine.Daniel Dunbar2010-07-191-1/+1
| | | | | | - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. llvm-svn: 108664
* MC: Move several clients to using AsmParser constructor function.Daniel Dunbar2010-07-181-6/+7
| | | | llvm-svn: 108645
* Fix struct/class mismatchDouglas Gregor2010-07-181-1/+1
| | | | llvm-svn: 108642
* Add a DAGCombine xform to fold away redundant float->double->float ↵Owen Anderson2010-07-181-0/+13
| | | | | | | | | | conversions around sqrt instructions. I am assured by people more knowledgeable than me that there are no rounding issues in eliminating this. This fixed <rdar://problem/8197504>. llvm-svn: 108639
* Added -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to ↵Lang Hames2010-07-181-0/+8
| | | | | | | | | | require LoopSplitter be run prior to register allocation. Entirely for testing purposes at the moment. llvm-svn: 108634
* Use isPrologLabel() instead of checking the opcode directly.Bill Wendling2010-07-171-1/+1
| | | | llvm-svn: 108628
* update CMakeLists.txtZhongxing Xu2010-07-171-0/+1
| | | | llvm-svn: 108620
* Removed unused inRange variable.Lang Hames2010-07-171-2/+0
| | | | llvm-svn: 108618
* LoopSplitter - intended to split live intervals over loop boundaries.Lang Hames2010-07-172-0/+918
| | | | | | | | Still very much under development. Comments and fixes will be forthcoming. (This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter) llvm-svn: 108615
OpenPOWER on IntegriCloud