summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* After splitting, the remaining LiveInterval may be fragmented into multipleJakob Stoklund Olesen2010-10-072-11/+134
| | | | | | | | | | | | | connected components. These components should be allocated different virtual registers because there is no reason for them to be allocated together. Add the ConnectedVNInfoEqClasses class to calculate the connected components, and move values to new LiveIntervals. Use it from SplitKit::rewrite by creating new virtual registers for the components. llvm-svn: 116006
* Fix LSR to keep the RegUseTracker up to date when combining users.Dan Gohman2010-10-071-8/+19
| | | | | | | | This doesn't usually matter, because the other heuristics usually succeed regardless, but it's good to keep the register use bookkeeping consistent. llvm-svn: 116005
* Remove LoopIndexSplit pass. It is neither maintained nor used by anyone.Devang Patel2010-10-072-1275/+0
| | | | llvm-svn: 116004
* Unbreak cmake build.John Thompson2010-10-071-0/+1
| | | | llvm-svn: 116003
* Code refactoring.Evan Cheng2010-10-072-104/+160
| | | | llvm-svn: 116002
* Reduce casting in various tables by defining the tableChris Lattner2010-10-072-27/+26
| | | | | | with the right types. llvm-svn: 116001
* simplify code: don't build up vector only to assert it is empty.Chris Lattner2010-10-071-8/+4
| | | | llvm-svn: 115997
* Now with fewer extraneous semicolons!Owen Anderson2010-10-07131-160/+161
| | | | llvm-svn: 115996
* Trivial MC code emitter shell. No instruction forms actually handled yet.Jim Grosbach2010-10-071-3/+19
| | | | llvm-svn: 115993
* Correctly check if a path is a directory. Fix by Brian Korver.Evan Cheng2010-10-071-1/+1
| | | | llvm-svn: 115991
* Provie a clearner interface so that FE can decide whether a function has ↵Devang Patel2010-10-071-6/+1
| | | | | | prototype or not. llvm-svn: 115988
* Include the auto-generated bits for machine encoding.Jim Grosbach2010-10-071-0/+20
| | | | llvm-svn: 115987
* Remember to promote load/store types for stack to register size.Eric Christopher2010-10-071-0/+6
| | | | llvm-svn: 115984
* convert test to use the existing classes that the multipatternsChris Lattner2010-10-071-99/+48
| | | | | | | | | use. Since TEST is completely different than all other binops, don't define a multipattern for it. This completes factorization of binops. llvm-svn: 115982
* convert cmp to use a multipatternChris Lattner2010-10-071-199/+181
| | | | llvm-svn: 115978
* Canonicalize X86ISD::MOVDDUP nodes to v2f64 to make sure all cases match. ↵Evan Cheng2010-10-072-16/+22
| | | | | | Also eliminate unneeded isel patterns. rdar://8520311 llvm-svn: 115977
* ARM instruction don't have instruction prefixes, so remove the helper functionsJim Grosbach2010-10-071-16/+1
| | | | | | for them from the MCCodeEmitter. llvm-svn: 115975
* Move tool_output_file into its own file.Dan Gohman2010-10-072-32/+43
| | | | llvm-svn: 115973
* Add initialization routines for Instrumentation.Owen Anderson2010-10-072-0/+32
| | | | llvm-svn: 115971
* reduce redundancy between pattern copies.Chris Lattner2010-10-071-49/+53
| | | | llvm-svn: 115968
* the opcode for BinOpMI/BinOpMI8 is always the same, remove the argument.Chris Lattner2010-10-071-19/+19
| | | | llvm-svn: 115967
* Improve comment.Owen Anderson2010-10-071-1/+1
| | | | llvm-svn: 115966
* Add initialization routines to InstCombine.Owen Anderson2010-10-071-0/+9
| | | | llvm-svn: 115965
* convert adc/sbb to a multipattern. Because the adde/sube nodes Chris Lattner2010-10-071-310/+150
| | | | | | | | | | | are not defined as returning EFLAGS (like add_flag and friends), the entire multipattern and several of the subclasses need to be cloned. This could be handled through better instantiation support in tblgen, but it isn't meta enough. llvm-svn: 115964
* Add initialization routines for VMCore.Owen Anderson2010-10-071-2/+14
| | | | llvm-svn: 115963
* Add initialization routines for Target.Owen Anderson2010-10-071-2/+12
| | | | llvm-svn: 115957
* Fix obvious mistake pointed out by Michael Spencer.Jakob Stoklund Olesen2010-10-071-1/+1
| | | | llvm-svn: 115952
* Print more loop info.Jakob Stoklund Olesen2010-10-071-0/+16
| | | | llvm-svn: 115951
* Print out MBB number when rewriting.Jakob Stoklund Olesen2010-10-071-1/+2
| | | | llvm-svn: 115950
* Add initialization routines for CodeGen.Owen Anderson2010-10-072-0/+60
| | | | llvm-svn: 115949
* Add an implementation of the initialization routine for IPA.Owen Anderson2010-10-071-0/+29
| | | | llvm-svn: 115947
* Add initialization routines for Analysis and IPA.Owen Anderson2010-10-072-0/+57
| | | | llvm-svn: 115946
* Add an initialization routine for libLLVMipo.aOwen Anderson2010-10-071-2/+37
| | | | llvm-svn: 115933
* Cache interval iterators in SplitEditor::addTruncSimpleRange so we only have toJakob Stoklund Olesen2010-10-071-10/+20
| | | | | | do one find(). llvm-svn: 115929
* Clean up debug printing.Jakob Stoklund Olesen2010-10-071-15/+19
| | | | llvm-svn: 115928
* Next step on the getting-rid-of-static-ctors train: begin adding per-libraryOwen Anderson2010-10-074-2/+88
| | | | | | | initialization functions that initialize the set of passes implemented in that library. Add C bindings for these functions as well. llvm-svn: 115927
* Fix a warning when building with clang++.Owen Anderson2010-10-071-2/+3
| | | | llvm-svn: 115924
* Add the missing cases to the type->registerclass conversion function.Kalle Raiskila2010-10-071-0/+14
| | | | llvm-svn: 115921
* Implement two virtual functions in SPUTargetLowering.Kalle Raiskila2010-10-072-0/+31
| | | | | | | | | | Before the implementation of isLegalAddressingMode, some rare cases of code were miscompiled if optimized with the LoopStrengthReduce pass. It is unclear (to me) if LSR is "allowed" to produce wrong code with a bad TargetLowering, or if the bug is elsewhere and this patch just hides it. llvm-svn: 115919
* Minor cosmetic change: fix DOSish \r\n.NAKAMURA Takumi2010-10-071-4/+4
| | | | llvm-svn: 115910
* MC-COFF: Fix symbol aliases. Fixes PR8251.Michael J. Spencer2010-10-071-5/+36
| | | | llvm-svn: 115909
* Use the correct register class for load instructions - fixesEric Christopher2010-10-071-1/+8
| | | | | | compilation of MultiSource/Benchmarks/Bullet. llvm-svn: 115907
* Use the correct register class here.Eric Christopher2010-10-071-1/+3
| | | | llvm-svn: 115906
* Use the thumb2 conditional move instruction.Eric Christopher2010-10-071-1/+1
| | | | llvm-svn: 115905
* Remove in-progress assertion, add TODO.Eric Christopher2010-10-071-1/+1
| | | | llvm-svn: 115904
* Move the pass initialization helper functions into the llvm namespace, and addOwen Anderson2010-10-073-13/+13
| | | | | | | a header declaring them all. This is also where we will declare per-library pass-set initializer functions down the road. llvm-svn: 115900
* Model operand cycles of vldm / vstm; also fixes scheduling itineraries of ↵Evan Cheng2010-10-077-42/+143
| | | | | | vldr / vstr, etc. llvm-svn: 115898
* add support for isConvertibleToThreeAddress to ArithBinOpEFLAGS,Chris Lattner2010-10-071-178/+18
| | | | | | allowing us to convert ADD over. deletes 160 lines of .td file. llvm-svn: 115897
* Fix a few issues in ArithBinOpEFLAGS that made it specific to and.Chris Lattner2010-10-071-497/+18
| | | | | | | | | Start using ArithBinOpEFLAGS for OR, XOR, and SUB. This removes 500 lines from the .td file. Now AND/OR/XOR/SUB are all defined exactly the same way instead of being close relatives. llvm-svn: 115896
* Convert 'and' to single instance of a multipatternChris Lattner2010-10-071-50/+63
| | | | | | | | | | | which instantiates the 34 versions of and all in one swoop. The BaseOpc/BaseOpc2/BaseOpc4 stuff should not be required, but tblgen's feeble brain explodes when I use Or4<BaseOpc>.V in the multipattern. No change in the generated .inc files. llvm-svn: 115893
OpenPOWER on IntegriCloud