Chris Lattner
de47dfab1d
enhance MCContext::GetOrCreateTemporarySymbol() to create a new symbol
...
with an arbitrary unique name.
llvm-svn: 98294
2010-03-11 22:56:10 +00:00
Chris Lattner
debc026df2
change MCContext to always have an MCAsmInfo.
...
llvm-svn: 98293
2010-03-11 22:53:35 +00:00
Chris Lattner
5aefaeb42e
fix a fixme in TargetLoweringObjectFile::getExprForDwarfReference
...
where we used ot create an MCSymbol for ".". Now emit an assembler
temporary label and reference it instead of "." textually.
rdar://7739457
llvm-svn: 98292
2010-03-11 21:55:20 +00:00
Dan Gohman
6b1b9e37d7
Remove getWidenVectorType, which is no longer used.
...
llvm-svn: 98289
2010-03-11 21:39:57 +00:00
Chris Lattner
8fc3ad6384
empty symbols aren't possible, the mcsymbol ctor aborts on them.
...
llvm-svn: 98288
2010-03-11 21:38:58 +00:00
Johnny Chen
8d150046ba
Set the (Format)F filed of t2Int_MemBarrierV7 & t2Int_SyncBarrierV7 to ThumbFrm,
...
instead of Pseudo, which helps Thumb decoder to recognize them as Thumb instr.
llvm-svn: 98285
2010-03-11 21:02:50 +00:00
Benjamin Kramer
846fefb000
stpcpy is so similar to strcpy, it doesn't deserve a complete copy of the __strcpy_chk -> strcpy code.
...
llvm-svn: 98284
2010-03-11 20:45:13 +00:00
Bill Wendling
368a68ac82
revert r98270.
...
llvm-svn: 98281
2010-03-11 19:50:31 +00:00
Chris Lattner
1ce9dfd498
rename getSymbolForDwarf* to getExprForDwarf* since it returns
...
an MCExpr and not an MCSymbol. Change it to take an MCStreamer,
which is currently unused.
No functionality change.
llvm-svn: 98278
2010-03-11 19:41:58 +00:00
Evan Cheng
e1c0438e7b
In case of tail call size of Ins and InVals may not match.
...
llvm-svn: 98277
2010-03-11 19:38:18 +00:00
Eric Christopher
017a0a06d8
Lower stpcpy_chk when possible.
...
llvm-svn: 98274
2010-03-11 19:24:34 +00:00
Evan Cheng
20dbd70316
Bad bad bug. x86 force indirect tail call address into eax when it's meant to force it into a call preserved register instead. Change it to ecx for now.
...
llvm-svn: 98270
2010-03-11 18:49:14 +00:00
Richard Osborne
8caa985467
Remove dead code. (S|U)MUL_LO is now lowered to LMUL or MACC(S|U)
...
llvm-svn: 98269
2010-03-11 18:38:59 +00:00
Jeffrey Yasskin
239beb0e85
Avoid leaking CompileUnits in DwarfDebug.cpp.
...
llvm-svn: 98268
2010-03-11 18:29:55 +00:00
Daniel Dunbar
8790f4ce4b
MC/Mach-O: Add MCSymbolData::getAddress() utility.
...
llvm-svn: 98266
2010-03-11 18:22:51 +00:00
Eric Christopher
fd61aa2ea3
Fix typo.
...
llvm-svn: 98260
2010-03-11 17:45:38 +00:00
Richard Osborne
0dcde97cbc
Add dag combine to simplify lmul(x, 0, a, b)
...
llvm-svn: 98258
2010-03-11 16:26:35 +00:00
Richard Osborne
22c1716d0d
Switch XCore over to using inline jump table entries.
...
llvm-svn: 98256
2010-03-11 14:58:56 +00:00
Richard Osborne
9c71a0a5ba
Add a new jump table encoding to indicate jump tables entries
...
are inside the function by the target at the point of use.
llvm-svn: 98255
2010-03-11 14:58:16 +00:00
Evan Cheng
4ef6d8fa15
The check for coalescing a virtual register to a physical register, e.g.
...
cl = EXTRACT_SUBREG reg1024, 1, is overly conservative. It should check
for overlaps of vr's live interval with the super registers of the
physical register (ECX in this case) and let JoinIntervals() handle checking
the coalescing feasibility against the physical register (cl in this case).
llvm-svn: 98251
2010-03-11 08:20:21 +00:00
Ted Kremenek
9f2c113fab
Update CMake build.
...
llvm-svn: 98250
2010-03-11 07:51:23 +00:00
Eric Christopher
bbdbe41a97
Have fast-isel understand llvm.objectsize. Update testcase for slightly
...
different codegen.
llvm-svn: 98244
2010-03-11 06:20:22 +00:00
Jeffrey Yasskin
46115632ba
Make clang bootstrap happier on OSX 10.5 by reducing the number of headers
...
included when using global symbols to ask the linker for the addresses of
various functions. One of the symbols was actually getting declared by a
header included in DynamicLibrary.cpp, which conflicted with the "extern void*"
declaration in SearchForAddressOfSpecialSymbol().
llvm-svn: 98243
2010-03-11 06:14:32 +00:00
Daniel Dunbar
ee26fc9e9f
MC/Mach-O: Implement "absolutizing" semantics of .set, by evaluating the assembly time value of variables.
...
llvm-svn: 98241
2010-03-11 05:53:37 +00:00
Daniel Dunbar
aefde2abfd
MC/Mach-O: Start passing in the basic MCAsmLayout object.
...
- Also, drop the current location part of AsmLayout, I think I prefer to implement this via explicit symbols.
llvm-svn: 98240
2010-03-11 05:53:33 +00:00
Eric Christopher
53a9bc6e22
Do some final lowering in CodeGenPrepare of _chk calls similar to
...
that in InstCombineCalls.
More call lowering needed.
llvm-svn: 98228
2010-03-11 02:41:03 +00:00
Daniel Dunbar
285a34c8c8
MC: Sketch initial MCAsmLayout class, which encapsulates the current layout of an assembly file. The MCAsmLayout is also available for use by MCExpr::EvaluateAs{Absolute,Relocatable}, to allow target specific hooks and "absolutizing" of symbols.
...
llvm-svn: 98227
2010-03-11 02:28:59 +00:00
Daniel Dunbar
fe8914f6b6
Fix (unused) RegisterAsmBackend template, clang++ isn't happy about this.
...
llvm-svn: 98226
2010-03-11 02:28:52 +00:00
Daniel Dunbar
b24134670c
Remove dead include.
...
llvm-svn: 98225
2010-03-11 02:28:48 +00:00
Dale Johannesen
15ff882aa1
Fix debug_value handling.
...
llvm-svn: 98224
2010-03-11 02:10:24 +00:00
Daniel Dunbar
687d99cfa8
MC: Provide MCAssembler with a TargetAsmBackend.
...
llvm-svn: 98222
2010-03-11 01:34:27 +00:00
Daniel Dunbar
f7f88fba2d
MC: Sketch some TargetAsmBackend hooks we are going to need.
...
llvm-svn: 98221
2010-03-11 01:34:21 +00:00
Daniel Dunbar
10c975db78
MC: Provide the target triple to AsmBackend constructors.
...
llvm-svn: 98220
2010-03-11 01:34:16 +00:00
Eric Christopher
c2a92dadc5
Add strncpy libcall creator. Use it when it should be used.
...
llvm-svn: 98219
2010-03-11 01:25:07 +00:00
Bill Wendling
e0a7f83429
When outputing a non-lazy pointer for a stub, we may need to fill in the value
...
for the NLP because the object it's pointing to may be internal to the file.
This seems counter-intuitive, but bear with me. When we place the LSDA into the
TEXT section, the type info pointers need to be indirect and pc-rel. We
accomplish this by using NLPs. However, sometimes the types are local to the
file. GCC gets around this by not using a NLP in this case, but a "regular"
indirection like this:
GCC_except_tbl:
.long Lfoo-.
__ZTIA: @ This is local
...
Lfoo:
.long __ZTIA
LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to
use them.
llvm-svn: 98218
2010-03-11 01:18:13 +00:00
Johnny Chen
5b54a7fca1
Added Thumb2 LDRD/STRD pre/post variants for disassembly only.
...
Plus fixed the encoding of t2LDRDpci such that P = 1 and W = 0 (offset mode).
llvm-svn: 98217
2010-03-11 01:13:36 +00:00
Dale Johannesen
0ef6f3119d
Make sure HasDebugValue is initialized. This should fix
...
the buildbot running valgrind.
llvm-svn: 98216
2010-03-11 00:52:12 +00:00
Bob Wilson
1ce9157601
Fix ARM buildbot breakage.
...
llvm-svn: 98215
2010-03-11 00:46:22 +00:00
Chris Lattner
d6d11e53ab
add support, testcases, and dox for the new GHC calling
...
convention. Patch by David Terei!
llvm-svn: 98212
2010-03-11 00:22:57 +00:00
Bob Wilson
b7efefe008
Lower small memcpys to load/stores on Thumb2.
...
Radar 7686922.
llvm-svn: 98210
2010-03-11 00:20:49 +00:00
Jakob Stoklund Olesen
87f8d0c4f2
VirtRegRewriter spring cleaning. No functional change.
...
Move methods out of line and M-x whitespace-cleanup.
Promote common method arguments to member variables.
llvm-svn: 98207
2010-03-11 00:11:33 +00:00
Chris Lattner
3a1f8cf234
Work around a bug in the openbsd assembler on i386,
...
which doesn't support .quad correctly because it is
"really really old". PR6528.
Yet another reason the mc assembler should take over ;-)
llvm-svn: 98205
2010-03-11 00:06:19 +00:00
Chris Lattner
7cd70b8066
fix PR6533 by updating the br(xor) code to remember the case
...
when it looked past a trunc.
llvm-svn: 98203
2010-03-10 23:46:44 +00:00
Dale Johannesen
29afbd39e4
Cosmetic: lengthen names and improve comments.
...
llvm-svn: 98202
2010-03-10 23:37:24 +00:00
Bob Wilson
e49828788b
Fix an obvious typo in an assert.
...
Patch by Sean Callanan.
llvm-svn: 98200
2010-03-10 22:38:45 +00:00
Bill Wendling
df325dee9d
Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that
...
indicates that an MCSymbol is external or not. (It's true if it's external.)
This will be used to specify the correct information to add to non-lazy
pointers. That will be explained further when this bit is used.
llvm-svn: 98199
2010-03-10 22:34:10 +00:00
Dale Johannesen
987770c05d
Progress towards shepherding debug info through SelectionDAG.
...
No functional effect yet. This is still evolving and should
not be viewed as final.
llvm-svn: 98195
2010-03-10 22:13:47 +00:00
Chris Lattner
d14ff9f87b
move PR6576 here.
...
llvm-svn: 98194
2010-03-10 21:42:42 +00:00
Chris Lattner
37594c7a86
add DESTDIR support for TOOLALIAS, for PR6557, patch by
...
Matthias Klose!
llvm-svn: 98193
2010-03-10 21:27:53 +00:00
Dan Gohman
4c22c7a665
Fix another bitwidth calculation to handle vector types; based on a
...
patch by Micah Villmow for PR6572.
llvm-svn: 98188
2010-03-10 21:04:53 +00:00