summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add some asserts to check SelectionDAG problems earlier.David Greene2010-01-201-0/+12
| | | | llvm-svn: 93960
* Move findDebugLoc somewhere more central. FixDale Johannesen2010-01-203-21/+19
| | | | | | | more cases where debug declarations affect debug line info. llvm-svn: 93953
* Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some codeDan Gohman2010-01-191-0/+20
| | | | | | that SCEVExpander can produce when running on behalf of LSR. llvm-svn: 93949
* Wrap some comments to 80 columns.Bob Wilson2010-01-191-2/+4
| | | | llvm-svn: 93940
* Fix a case where debug_value was perturbing theDale Johannesen2010-01-191-4/+19
| | | | | | line number info. llvm-svn: 93937
* When doing address-mode sinking, expand the base register first, ratherDan Gohman2010-01-191-12/+17
| | | | | | | | | | | | than the scaled register. This makes it more likely that subsequent AddrModeMatcher queries will match the new address the same way as the old, instead of accidentally matching what had been the base register as the new scaled register, and then failing to match the scaled register. This fixes some problems with address-mode sinking multiple muls into a block, which will be a lot more common with some upcoming LoopStrengthReduction changes. llvm-svn: 93935
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-1918-28/+56
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* Add a comment and tidy up some whitespace.Dan Gohman2010-01-191-2/+2
| | | | llvm-svn: 93932
* Fix a typo and an 80-column violation in comments.Dan Gohman2010-01-191-3/+3
| | | | llvm-svn: 93931
* Give ScalarEvolution access to the DominatorTree. It'll need thisDan Gohman2010-01-191-0/+2
| | | | | | to make more intellegent AddRec folding decisions. llvm-svn: 93930
* simplify the rest of fp constant printing.Chris Lattner2010-01-191-108/+34
| | | | llvm-svn: 93929
* simplify the code for printing x86 long double, don't do workChris Lattner2010-01-191-75/+22
| | | | | | for -fverbose-asm unless it's on. llvm-svn: 93926
* Identify predicate and optional-def operands when printing machineJakob Stoklund Olesen2010-01-191-0/+7
| | | | | | instructions. llvm-svn: 93925
* add a new EmitIntValue method that MCStreamer impls can optionally defineChris Lattner2010-01-192-6/+36
| | | | | | and that clients can use. llvm-svn: 93923
* Add a new helper function to IVUsers for returning the "canonical"Dan Gohman2010-01-191-0/+13
| | | | | | | | form of an expression. This is the expression without the post-increment adjustment made, which is useful in determining which registers will be used by the expansion. llvm-svn: 93921
* eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.Chris Lattner2010-01-192-18/+9
| | | | llvm-svn: 93918
* Promoted the getTok() method to MCAsmParser so thatSean Callanan2010-01-193-41/+45
| | | | | | | the two token accessor functions are declared consistently. Modified the clients of MCAsmParser to reflect this change. llvm-svn: 93916
* Stubs for getHostCPUFeatures API. This implements part of PR5389.Xerxes Ranby2010-01-191-0/+4
| | | | llvm-svn: 93913
* Remove predicates when changing an add into an unpredicable mov.Jakob Stoklund Olesen2010-01-192-5/+13
| | | | | | | Since the mov is executed unconditionally, make sure that the add didn't have any predicate. llvm-svn: 93909
* Update CMake list.Benjamin Kramer2010-01-191-1/+0
| | | | llvm-svn: 93905
* Add some new debugging APIs to print out "raw" SelectionDAGs to makeDavid Greene2010-01-192-29/+25
| | | | | | understanding CannotYTetSelect and other errors easier. llvm-svn: 93901
* Propagated the parser-side Lex function's declaration toSean Callanan2010-01-192-45/+45
| | | | | | | MCAsmParser, and changed the target-specific AsmParsers to use it. llvm-svn: 93900
* Fix a bug introduced on r92564 where the name "Node" was alreadyBruno Cardoso Lopes2010-01-191-2/+2
| | | | | | in use by Mips. llvm-svn: 93897
* Generalize mcasmstreamer data emission APIs to take an address spaceChris Lattner2010-01-197-48/+50
| | | | | | identifier. There is no way to work around it. llvm-svn: 93896
* Do not extend extension results beyond the use of a PHI instruction at the ↵Evan Cheng2010-01-191-0/+12
| | | | | | start of a use block. A PHI use is expected to kill its source values. llvm-svn: 93895
* refactor code to be static functions instead of methods on AsmPrinter.Chris Lattner2010-01-191-47/+39
| | | | | | This fixes some bugs handling address spaces. llvm-svn: 93891
* mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the Chris Lattner2010-01-192-8/+8
| | | | | | default address space. llvm-svn: 93890
* add an MCAsmStreamer::EmitFill specialization of EmitFill thatChris Lattner2010-01-191-0/+15
| | | | | | | emits one directive instead of N. Not doing this would be a significant regression on the # bytes generated by .fill. llvm-svn: 93889
* add a "MCStreamer::EmitFill" method, and move the default implementationChris Lattner2010-01-191-0/+9
| | | | | | (which just iteratively emits bytes) to MCStreamer. llvm-svn: 93888
* remove MAI::ZeroDirectiveSuffix, which is only used by MASM,Chris Lattner2010-01-193-12/+6
| | | | | | which we don't support anymore. llvm-svn: 93886
* For aligned load/store instructions, it's only required to know whether aJim Grosbach2010-01-199-83/+21
| | | | | | | | | | | function can support dynamic stack realignment. That's a much easier question to answer at instruction selection stage than whether the function actually will have dynamic alignment prologue. This allows the removal of the stack alignment heuristic pass, and improves code quality for cases where the heuristic would result in dynamic alignment code being generated when it was not strictly necessary. llvm-svn: 93885
* optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund GrimleyChris Lattner2010-01-191-0/+5
| | | | | | Evans! llvm-svn: 93884
* On pic function calls some arguments were marked dead andBruno Cardoso Lopes2010-01-192-15/+30
| | | | | | the instruction to load those args removed. This fix PR6071 llvm-svn: 93880
* load f64 +0.0 in a cleaner way. This fix part of PR5445Bruno Cardoso Lopes2010-01-192-12/+12
| | | | llvm-svn: 93876
* Fix return registers for mips eabiBruno Cardoso Lopes2010-01-191-4/+4
| | | | llvm-svn: 93875
* mcstreamer'ize the rest of EmitGlobalVariable that is used on Chris Lattner2010-01-191-6/+8
| | | | | | | darwin. The next big piece to get global variables streamerized is EmitGlobalConstant. llvm-svn: 93870
* stop using the .lcomm pseudoop on darwin, instead, directly use theChris Lattner2010-01-194-16/+36
| | | | | | .zerofill directive. Streamerize its generation. llvm-svn: 93868
* MDNodes are not expected to disappear or replaced by another MDNode, so ↵Devang Patel2010-01-192-15/+16
| | | | | | there is no need to pay the cost of WeakVH and ValueMaps. llvm-svn: 93865
* Avoid including DebugInfo.h in AsmPrinter.hDevang Patel2010-01-194-2/+5
| | | | llvm-svn: 93864
* zap the ARM version of PrintGlobalVariable, which I missed.Chris Lattner2010-01-191-113/+0
| | | | llvm-svn: 93863
* mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.Chris Lattner2010-01-192-10/+11
| | | | llvm-svn: 93860
* factor this code better.Chris Lattner2010-01-191-21/+13
| | | | llvm-svn: 93859
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-1913-825/+126
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* use %object like other elf targets, gas accepts either.Chris Lattner2010-01-191-1/+1
| | | | llvm-svn: 93857
* simplify the mips target to print .size and .type for c strings Chris Lattner2010-01-191-6/+2
| | | | | | | just like all other elf targets. Bruno, if this isn't right, please let me know + why :) llvm-svn: 93856
* hookize the cygwin ".linkonce" directive.Chris Lattner2010-01-193-6/+13
| | | | llvm-svn: 93855
* more cleanups. Emit the .local directive even on cygwin/mingw.Chris Lattner2010-01-191-6/+3
| | | | | | | | I'm not sure that this is correct, but it causes no test failures, and just emitting a .comm without protecting its linkage somehow is surely not right. llvm-svn: 93854
* some cleanupsChris Lattner2010-01-192-20/+21
| | | | llvm-svn: 93853
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-195-11/+14
| | | | | | "isdarwin". llvm-svn: 93852
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-194-74/+59
| | | | | | | | | | This makes a similar code dead in all the other targets, I'll clean it up in a bit. This also moves handling of lcomm up before acquisition of a section, since lcomm never needs a section. llvm-svn: 93851
OpenPOWER on IntegriCloud