Bill Wendling
aa59c88a6e
Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100556 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 20:07:21 +00:00
Chris Lattner
779804353d
this accessor doesn't need to copy the string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100542 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 18:37:22 +00:00
Chris Lattner
b019491b8d
enhance SMDiagnostic to also maintain a pointer to the SourceMgr.
...
Add a simplified constructor for clients that don't have locations
like "file not found" errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 18:06:18 +00:00
Jakob Stoklund Olesen
adc6e06ff0
Avoid overflowing a signed integer which triggers undefined behaviour.
...
Overflowing an unsigned integer is fine and behaves as you would expect.
Also fix a pasto, allowing SignExtend64 to take a 64-bit argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100517 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 03:12:43 +00:00
Chris Lattner
885d94143d
propagate cookie management out one layer of function calls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:58:50 +00:00
Chris Lattner
421ccd9892
Give MachineModuleInfo an actual Module*.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100508 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:51:52 +00:00
Chris Lattner
42a4ee0a35
give LLVMContext an inline asm diagnostic hook member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100506 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:44:45 +00:00
Chris Lattner
214aa8a2cf
give the SourceMgr object a cookie.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100504 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:33:43 +00:00
Chris Lattner
8f0f480a10
Give llvm::SourceMgr the ability to have a client-specified
...
diagnostic handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:26:48 +00:00
Douglas Gregor
a03948633a
Remove MaybeOwningPtr. We're going to use reference-counting instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100499 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:53:46 +00:00
Chris Lattner
79180e2ef5
Give AsmParser an option to control whether it finalizes
...
the stream. New demo:
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:15:42 +00:00
Chris Lattner
e072ab8691
add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:07:42 +00:00
Chris Lattner
4c842dda39
stringref-ize the MemoryBuffer::get apis. This requires
...
a co-committed clang patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 22:42:30 +00:00
Douglas Gregor
2ee35226e5
Introduce MaybeOwningPtr, a smart pointer that may (or may not) have
...
ownership over the pointer it contains. Useful when we want to
communicate ownership while still having several clients holding on to
the same pointer *without* introducing reference counting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 21:09:22 +00:00
Dan Gohman
54ab2e9326
Add an isReachableFromEntry to MachineDominators, following the one
...
in Dominators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 19:16:38 +00:00
Chris Lattner
b742b25897
trim some prototypes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100420 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:21:01 +00:00
Chris Lattner
512063dd0f
remove the now-redundant MMI pointer in SelectionDAG.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100419 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:19:28 +00:00
Chris Lattner
de6e783b24
remove some redundant MMI arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100417 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:10:13 +00:00
Chris Lattner
ed3a8067a6
unthread MMI from FastISel
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100416 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:05:26 +00:00
Chris Lattner
a267b0076e
remove the MMI pointer from MachineFrameInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100415 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:57:52 +00:00
Chris Lattner
820e55e9ad
enhance MachineFunction to have a MMI pointer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100414 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:49:50 +00:00
Chris Lattner
655d82820c
prune #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100411 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:43:16 +00:00
Chris Lattner
493c9765e0
finally blast DwarfWriter away.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100406 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:12:59 +00:00
Chris Lattner
49cd6649e1
change AsmPrinter to use DwarfDebug/DwarfException directly
...
instead of going through DwarfWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100405 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 05:11:15 +00:00
Chris Lattner
ea761868b5
trim some spurious references to DwarfWriter. SDIsel really doesn't
...
need it anymore, so don't addRequire it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100400 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 04:09:20 +00:00
Jakob Stoklund Olesen
fddb7667ca
Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field.
...
When a target instruction wants to set target-specific flags, it should simply
set bits in the TSFlags bit vector defined in the Instruction TableGen class.
This works well because TableGen resolves member references late:
class I : Instruction {
AddrMode AM = AddrModeNone;
let TSFlags{3-0} = AM.Value;
}
let AM = AddrMode4 in
def ADD : I;
TSFlags gets the expected bits from AddrMode4 in this example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100384 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 03:10:20 +00:00
Chris Lattner
ba79d72eab
selection dag doesn't need DwarfWriter, remove some tendrils.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100382 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 02:23:33 +00:00
Chris Lattner
d850ac79b5
fastisel doesn't need DwarfWriter, remove some tendricles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100381 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 02:19:28 +00:00
Chris Lattner
d38fee8ddc
1) make DIE take AsmPrinter instead of DwarfPrinter.
...
2) change DwarfDebug to not inherit from DwarfPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100372 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 00:13:49 +00:00
Chris Lattner
02b86b93dc
Move EmitFrameMoves into AsmPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100371 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:41:46 +00:00
Chris Lattner
3c754aa815
missed a header :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:36:52 +00:00
Chris Lattner
3d22513611
eliminate the magic AbsoluteDebugSectionOffsets MAI hook,
...
which is really a property of the section being referenced.
Add a predicate to MCSection to replace it.
Yay for reduction in magic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100367 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 23:22:29 +00:00
Chris Lattner
0887fa0b8c
isAbsoluteEHSectionOffsets always returns false, eliminate it
...
and substitute false at the one call site.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 21:29:44 +00:00
Chris Lattner
d2af7853e3
move some more stuff to asmprinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100351 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 20:20:50 +00:00
Chris Lattner
9be4913136
simplify some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100350 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 20:10:41 +00:00
Chris Lattner
c021572511
move gettemplabel and getdwlabel to AsmPrinter and rename
...
them for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100345 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 19:25:43 +00:00
Chris Lattner
7e1a8f882f
move uleb/sleb printing into AsmPrinter from DwarfPrinter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 19:09:29 +00:00
Chris Lattner
17fedf216b
more interface cleanup make some helpers static functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:58:53 +00:00
Chris Lattner
3f53c8398d
clean up the asmprinter header and privatize some stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:52:31 +00:00
Chris Lattner
736e31d0cf
split inline asm support out to its own .cpp file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:34:07 +00:00
Chris Lattner
285199502b
inline processDebugLoc and simplify it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:18:51 +00:00
Chris Lattner
300a4c5640
clean up the asmprinter interface a bit, rename a few
...
"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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100337 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:14:01 +00:00
Chris Lattner
9d1c1ada21
remove TargetMachine.h #include, also, TRI isn't used frequently
...
enough to warrant caching in AsmPrinter, so remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100336 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:06:11 +00:00
Jakob Stoklund Olesen
bbef815a3b
Switch SSEDomainFix to SpecificBumpPtrAllocator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100332 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 18:00:21 +00:00
Chris Lattner
e00b59f954
lazily allocate the GCMetadataPrinters map and remove DenseMap
...
from the AsmPrinter interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100331 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 17:57:56 +00:00
Chris Lattner
b23569aff0
Momentous day: remove the "O" member from AsmPrinter. Now all
...
"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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100327 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 08:18:47 +00:00
Chris Lattner
75f50725c1
remove the raw_ostream from various dwarf printing things.
...
The only thing left is LEB printing, which uses EmitRawText
for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 07:48:20 +00:00
Chris Lattner
7d73c7f0d6
mcize the gc metadata printing stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100324 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 07:39:04 +00:00
Chris Lattner
c75c028a15
fix PrintAsmOperand and PrintAsmMemoryOperand to pass down
...
raw_ostream to print to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100313 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 05:29:35 +00:00
Chris Lattner
d374087be5
fix an ugly wart in the MCInstPrinter api where the
...
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100307 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-04 05:04:31 +00:00