summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* isAbsoluteEHSectionOffsets always returns false, eliminate it Chris Lattner2010-04-041-1/+1
| | | | | | and substitute false at the one call site. llvm-svn: 100354
* move some more stuff to asmprinter.Chris Lattner2010-04-044-59/+44
| | | | llvm-svn: 100351
* simplify some code.Chris Lattner2010-04-042-21/+16
| | | | llvm-svn: 100350
* move EmitEncodingByte to AsmPrinter.Chris Lattner2010-04-043-50/+51
| | | | llvm-svn: 100349
* move EmitCFAByte to AsmPrinter.Chris Lattner2010-04-042-19/+20
| | | | llvm-svn: 100348
* inline EmitDifference away.Chris Lattner2010-04-045-45/+38
| | | | llvm-svn: 100347
* resolve a fixme.Chris Lattner2010-04-041-6/+1
| | | | llvm-svn: 100346
* move gettemplabel and getdwlabel to AsmPrinter and renameChris Lattner2010-04-045-129/+137
| | | | | | them for consistency. llvm-svn: 100345
* move uleb/sleb printing into AsmPrinter from DwarfPrinter.Chris Lattner2010-04-048-113/+125
| | | | llvm-svn: 100344
* more interface cleanup make some helpers static functions.Chris Lattner2010-04-041-27/+24
| | | | llvm-svn: 100343
* clean up the asmprinter header and privatize some stuff.Chris Lattner2010-04-043-32/+32
| | | | llvm-svn: 100342
* use stringref instead of strtol to avoid errno gymnastics.Chris Lattner2010-04-041-7/+6
| | | | llvm-svn: 100341
* split inline asm support out to its own .cpp file.Chris Lattner2010-04-043-294/+317
| | | | llvm-svn: 100340
* inline processDebugLoc and simplify it.Chris Lattner2010-04-041-19/+7
| | | | llvm-svn: 100339
* minor tidying.Chris Lattner2010-04-041-15/+14
| | | | llvm-svn: 100338
* clean up the asmprinter interface a bit, rename a fewChris Lattner2010-04-041-15/+9
| | | | | | | | "Print" methods to "Emit". Emit is something that goes to an mc streamer, Print is something that goes to a raw_ostream (for inline asm) llvm-svn: 100337
* remove TargetMachine.h #include, also, TRI isn't used frequently Chris Lattner2010-04-044-3/+7
| | | | | | enough to warrant caching in AsmPrinter, so remove it. llvm-svn: 100336
* lazily allocate the GCMetadataPrinters map and remove DenseMapChris Lattner2010-04-041-10/+25
| | | | | | from the AsmPrinter interface. llvm-svn: 100331
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-042-20/+3
| | | | | | | | | | "asm printering" happens through MCStreamer. This also Streamerizes PIC16 debug info, which escaped my attention. This removes a leak from LLVMTargetMachine of the 'legacy' output stream. llvm-svn: 100327
* now that all operand printing happens to specified streams, we canChris Lattner2010-04-041-5/+0
| | | | | | | print function level inline asm with EmitInlineAsm instead of writing it directly to "O". llvm-svn: 100326
* remove the raw_ostream from various dwarf printing things.Chris Lattner2010-04-048-33/+24
| | | | | | | The only thing left is LEB printing, which uses EmitRawText for now. llvm-svn: 100325
* mcize the gc metadata printing stuff.Chris Lattner2010-04-043-51/+41
| | | | llvm-svn: 100324
* use EmitRawText instead of O in DwarfPrinter.Chris Lattner2010-04-042-3/+1
| | | | llvm-svn: 100323
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-4/+6
| | | | | | raw_ostream to print to. llvm-svn: 100313
* change this back tooChris Lattner2010-04-041-1/+1
| | | | llvm-svn: 100310
* check in what I tested. :(Chris Lattner2010-04-041-1/+1
| | | | llvm-svn: 100309
* MMI is always available, rename O -> OS in printInlineAsm.Chris Lattner2010-04-041-16/+16
| | | | llvm-svn: 100308
* fix an ugly wart in the MCInstPrinter api where theChris Lattner2010-04-041-1/+1
| | | | | | | | raw_ostream to print an instruction to had to be specified at MCInstPrinter construction time instead of being able to pick at each call to printInstruction. llvm-svn: 100307
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-041-6/+6
| | | | | | member of AsmPrinter. Instead, pass it in explicitly. llvm-svn: 100306
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-042-28/+56
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100304
* asmstreamerize the .size directive for function bodies, force clientsChris Lattner2010-04-031-10/+13
| | | | | | of printOffset to pass in a stream to print to. llvm-svn: 100296
* emit the cygwin stub thing through mcstreamer.Chris Lattner2010-04-031-4/+11
| | | | llvm-svn: 100295
* add a twine form of MCStreamer::EmitRawText, and mc'izeChris Lattner2010-04-031-16/+20
| | | | | | a few more things in AsmPrinter.cpp. llvm-svn: 100294
* start moving towards emitting inline asm statements with Chris Lattner2010-04-031-9/+35
| | | | | | | | EmitInlineAsm. However, this attempt is foiled by operands being emitted directly to "O" so I'll have to do some surgery and finish MCizing the world. llvm-svn: 100291
* add a new EmitInlineAsm function to asmprinter to handle inline asm.Chris Lattner2010-04-031-5/+19
| | | | | | | If we have an MCAsmStreamer, we continue to emit asm textually, otherwise we (currently) emit an error to errs and ignore it. llvm-svn: 100289
* mc'ize comment printing around file scope inline asm.Chris Lattner2010-04-031-5/+10
| | | | llvm-svn: 100288
* Ok, third time's the charm. No changes from last time except the CMakeDavid Greene2010-04-024-34/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | source addition. Apparently the buildbots were wrong about failures. --- Add some switches helpful for debugging: -print-before=<Pass Name> Dump IR before running pass <Pass Name>. -print-before-all Dump IR before running each pass. -print-after-all Dump IR after running each pass. These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc. To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on. llvm-svn: 100249
* Skip debug info when looking for existing EH calls at theDale Johannesen2010-04-021-2/+2
| | | | | | beginning of a block. llvm-svn: 100230
* Fix anachronism.Benjamin Kramer2010-04-021-1/+1
| | | | llvm-svn: 100225
* fix the llvm-x86_64-linux buildbot.Chris Lattner2010-04-021-0/+1
| | | | llvm-svn: 100223
* remove empty file.Chris Lattner2010-04-022-1/+0
| | | | llvm-svn: 100222
* stop using DebugLoc::getUnknownLoc()Chris Lattner2010-04-026-21/+13
| | | | llvm-svn: 100215
* Switch the code generator (except the JIT) onto the new DebugLocChris Lattner2010-04-028-106/+98
| | | | | | | | | | | | | | | representation. This eliminates the 'DILocation' MDNodes for file/line/col tuples from -O0 -g codegen. This remove the old DebugLoc class, making it a typedef for DebugLoc, I'll rename NewDebugLoc next. I didn't update the JIT to use the new apis, so it will continue to work, but be as slow as before. Someone should eventually do this or, better yet, rip out the JIT debug info stuff and build the JIT on top of MC. llvm-svn: 100209
* Correctly lower memset / memcpy of undef. It should be a nop. PR6767.Evan Cheng2010-04-021-11/+23
| | | | llvm-svn: 100208
* Revert 100204. It broke a bunch of tests and apparently changed what passes ↵Evan Cheng2010-04-023-66/+34
| | | | | | are run during codegen. llvm-svn: 100207
* Update CMake.Benjamin Kramer2010-04-021-0/+1
| | | | llvm-svn: 100206
* Let's try this again. Re-apply 100143 including an apparent missingDavid Greene2010-04-023-34/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <string> include. For some reason the buildbot choked on this while my builds did not. It's probably due to a difference in system headers. --- Add some switches helpful for debugging: -print-before=<Pass Name> Dump IR before running pass <Pass Name>. -print-before-all Dump IR before running each pass. -print-after-all Dump IR after running each pass. These are helpful when tracking down a miscompilation. It is easy to get IR dumps and do diffs on them, etc. To make this work well, add a new getPrinterPass API to Pass so that each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass suitable for dumping out the kind of object the Pass works on. llvm-svn: 100204
* Revert r100191 since it breaks objc in clang Mon P Wang2010-04-022-53/+26
| | | | llvm-svn: 100199
* Reapply address space patch after fixing an issue in MemCopyOptimizer.Mon P Wang2010-04-022-26/+53
| | | | | | | Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100191
* After trivial coalescing, the MI being visited may have become a copy. Avoid ↵Evan Cheng2010-04-021-1/+5
| | | | | | | | adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted. rdar://7819990 llvm-svn: 100170
OpenPOWER on IntegriCloud