summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* For blocks that are not loop headers, just print their loop depth and header BB.Chris Lattner2010-01-221-13/+16
| | | | | | | | | | | | | | | | | | | | | | For loop headers, print Inner loop along with the other stuff so it doesn't take an extra line. We now get stuff like this: LBB1_4: ## %land.end ## in Loop: Header=BB1_1 Depth=1 notb %al testb $1, %al jne LBB1_8 and: LBB1_6: ## %while.cond7 ## Inner Loop Header: Depth=3 ## Inside Loop BB1_5 Depth 2 ## Inside Loop BB1_1 Depth 1 which still isn't great for loop headers, but is much less verbose. llvm-svn: 94221
* reenable the label loop comments and switch them to use the formattedChris Lattner2010-01-221-67/+40
| | | | | | | comment emission stuff. I'm going to rewrite this though because the current output doesn't make sense. llvm-svn: 94215
* Convert some more random-comment-printing stuff to use Chris Lattner2010-01-221-33/+30
| | | | | | | AddComment and GetCommentOS. Add a blank line between globals (even in non-verbose mode) to make the assembly more readable. llvm-svn: 94202
* add a new MCAsmStreamer::GetCommentOS method to simplify stuffChris Lattner2010-01-221-6/+2
| | | | | | that doesn't want to use twines. llvm-svn: 94199
* rename addComment -> AddComment for consistency.Chris Lattner2010-01-221-1/+1
| | | | llvm-svn: 94190
* Revert r94066, which was the patch which added a Verifier pass afterDan Gohman2010-01-221-4/+0
| | | | | | | LoopStrengthReduce, as it's causing too much trouble (even with the old LoopStrengthReduce code). llvm-svn: 94172
* Add the ability for MCStreamer to emit comments on the same line as directives.Chris Lattner2010-01-221-2/+5
| | | | | | | | | | | | Switch over the asm-verbose comment for double values to use it. We now get: _x: .long 343597384 ## double 1.231200e+02 .long 1079953326 For example, note that the comment is on the same line as the .long. Woo. llvm-svn: 94166
* pass "-fasm-verbose" into createAsmStreamer.Chris Lattner2010-01-221-6/+12
| | | | llvm-svn: 94165
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-223-3/+6
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* Teach pre-regalloc scheduler to schedule loads from nearby addresses. It may ↵Evan Cheng2010-01-222-0/+134
| | | | | | improve cache locality. This is controlled by -cluster-loads for now. llvm-svn: 94148
* Trim unneeded includes.Evan Cheng2010-01-213-3/+0
| | | | llvm-svn: 94105
* back this out for now. Growing Function is not good.Jim Grosbach2010-01-214-20/+2
| | | | llvm-svn: 94097
* Run the verifier after LSR, to help catch use-before-def errors beforeDan Gohman2010-01-211-0/+4
| | | | | | they reach codegen. llvm-svn: 94066
* Make sure that landing pad entries in the EH call site table are in the properJim Grosbach2010-01-214-2/+20
| | | | | | order for SjLj style exception handling. llvm-svn: 94055
* SjLj EH introduces can introduce an additional edge to a landing pad and padJim Grosbach2010-01-201-0/+13
| | | | | | normalization needs to take this into account. llvm-svn: 94046
* make findDebugLoc a class methodDale Johannesen2010-01-201-9/+11
| | | | llvm-svn: 94032
* When XDEBUG is enabled, check for SelectionDAG cycles at some keyDavid Greene2010-01-201-1/+35
| | | | | | | points. This will help us find future problems like the one described in PR6019. llvm-svn: 94019
* don't send null pointers through the constantexpr codepath unneededly.Chris Lattner2010-01-201-0/+6
| | | | llvm-svn: 94010
* eliminate some uses of AsmPrinter::EmitIntXXXChris Lattner2010-01-203-20/+19
| | | | llvm-svn: 93996
* inline and radically simplify printDataDirective. It will eventuallyChris Lattner2010-01-201-45/+18
| | | | | | go completely away. llvm-svn: 93994
* emit basic block labels with mcstreamer.Chris Lattner2010-01-201-8/+4
| | | | llvm-svn: 93993
* emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,Chris Lattner2010-01-201-15/+12
| | | | | | for tidiness. llvm-svn: 93992
* signficant cleanups to EmitGlobalConstant (including streamerization Chris Lattner2010-01-201-103/+67
| | | | | | | | of int initializers), change some methods to be static functions, use raw_ostream::write_hex instead of a smallstring dance with APValue::toStringUnsigned(S, 16). llvm-svn: 93991
* switch ConstantFP emission to use MCStreamer, significantly Chris Lattner2010-01-201-34/+18
| | | | | | simplifying the code. llvm-svn: 93988
* make mcasmstreamer handle expanding 8 byte integer constants to Chris Lattner2010-01-201-18/+4
| | | | | | | 4-byte constants if .quad isn't supported. Switch a bunch of methods used by the dwarf writer to use OutStreamer.EmitIntValue. llvm-svn: 93987
* give createAsmStreamer an 'isLittleEndian' argument.Chris Lattner2010-01-201-1/+2
| | | | llvm-svn: 93986
* If a instruction belongs to another function (and not current function) as ↵Devang Patel2010-01-201-4/+12
| | | | | | per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable. llvm-svn: 93967
* 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-201-0/+17
| | | | | | | 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
* 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
* eliminate AsmPrinter::EmitZeros: just use MCStreamer directly.Chris Lattner2010-01-191-11/+4
| | | | llvm-svn: 93918
* 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
* Generalize mcasmstreamer data emission APIs to take an address spaceChris Lattner2010-01-191-13/+7
| | | | | | 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-191-8/+6
| | | | | | default address space. llvm-svn: 93890
* remove MAI::ZeroDirectiveSuffix, which is only used by MASM,Chris Lattner2010-01-191-10/+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-191-70/+0
| | | | | | | | | | | 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
* 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-191-9/+22
| | | | | | .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-192-2/+3
| | | | llvm-svn: 93864
* mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.Chris Lattner2010-01-191-7/+4
| | | | 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-191-2/+122
| | | | | | | | | | | | | | | | | | | | | | | 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
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-191-1/+15
| | | | | | | | | | 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