Chris Lattner
9e4cafe6f1
inline the now-trivial implementation of GetGlobalValueSymbol into
...
some of its callers.
llvm-svn: 98388
2010-03-12 21:09:07 +00:00
Chris Lattner
e80055f8fc
eliminate the X86 version of GetGlobalValueSymbol, allowing
...
it to be non-virtual and soon disappear.
llvm-svn: 98387
2010-03-12 21:06:41 +00:00
Chris Lattner
d3ca1e2854
prune #includes, this file should be removed pending hte cygwin stub issue being resolved.
...
llvm-svn: 98386
2010-03-12 21:04:31 +00:00
Chris Lattner
8d99c764d3
move fastcall/stdcall mangling up into Mangler.
...
llvm-svn: 98384
2010-03-12 21:03:47 +00:00
Daniel Dunbar
ea9e2f8a15
MC: Factor out MCAssembler::EvaluateFixup, and simplify.
...
llvm-svn: 98381
2010-03-12 21:00:49 +00:00
Daniel Dunbar
968b36a0bd
MC: Constify MCAsmLayout argument to MCExpr::EvaluteAs...
...
llvm-svn: 98380
2010-03-12 21:00:45 +00:00
Daniel Dunbar
921e79f5eb
MC: Add MCAssembler::addFixup, which enforces that fixups are added in order.
...
llvm-svn: 98379
2010-03-12 21:00:38 +00:00
Chris Lattner
c7b46f9d9c
give Mangler access to TargetData.
...
llvm-svn: 98378
2010-03-12 20:47:28 +00:00
Chris Lattner
892ac21f06
make DecorateCygMingName a static method.
...
llvm-svn: 98377
2010-03-12 20:43:52 +00:00
Benjamin Kramer
a956527c92
Add a virtual destructor and give vtable a home.
...
llvm-svn: 98376
2010-03-12 20:41:29 +00:00
Chris Lattner
74026ffcae
minor tidying, only do work if a function is
...
actually X86_StdCall or X86_FastCall.
llvm-svn: 98374
2010-03-12 19:48:03 +00:00
Chris Lattner
e397df7af0
eliminate the string form of DecorateCygMingName
...
llvm-svn: 98373
2010-03-12 19:42:40 +00:00
Chris Lattner
c795a5235f
remove the FnArgWords cache to make way for future changes.
...
llvm-svn: 98372
2010-03-12 19:31:03 +00:00
Bill Wendling
3d0cd822a9
Add a beta-test for placing the LSDA into the TEXT section on X86.
...
llvm-svn: 98370
2010-03-12 19:20:40 +00:00
Devang Patel
d19e302f77
Fix llc crash on invalid input.
...
llvm-svn: 98369
2010-03-12 19:18:30 +00:00
Chris Lattner
8abe1ce883
Remove some dead code. This method only gets called on
...
definitions.
llvm-svn: 98368
2010-03-12 19:14:18 +00:00
Chris Lattner
6428db5089
use Mang->getSymbol instead of duplicating the logic, reduce indentation.
...
llvm-svn: 98367
2010-03-12 19:04:14 +00:00
Chris Lattner
be3242b523
finally give Mangler a getSymbol method, which returns an MCSymbol
...
for a global instead of messing around with string buffers.
llvm-svn: 98366
2010-03-12 18:55:20 +00:00
Chris Lattner
45ec3f8944
remove dead code.
...
llvm-svn: 98365
2010-03-12 18:49:32 +00:00
Chris Lattner
d75813970a
simplify code to use OutContext.GetOrCreateTemporarySymbol with
...
no arguments instead of having to come up with a unique name.
This also makes the code less fragile.
llvm-svn: 98364
2010-03-12 18:47:50 +00:00
Chris Lattner
2eff505fba
make the mangler take an MCContext instead of an MAI.
...
No functionality change.
llvm-svn: 98363
2010-03-12 18:44:54 +00:00
Chris Lattner
ac77bf5d1e
remove MAI argument from createAsmStreamer since it
...
can get it from the context now.
llvm-svn: 98361
2010-03-12 18:28:53 +00:00
Chris Lattner
77b0a2ee03
fix a bug emitting .secrel32 that I introduced, PR6587, patch
...
by A.Mazur!
llvm-svn: 98360
2010-03-12 18:10:35 +00:00
Duncan Sands
8c35506fbd
When constant folding GEP of GEP, do not crash if an index of
...
the inner GEP is not a ConstantInt.
llvm-svn: 98359
2010-03-12 17:55:20 +00:00
Jeffrey Yasskin
35b4e4f641
Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of
...
several fields to make it easier to figure out where bugs might be creeping in.
llvm-svn: 98358
2010-03-12 17:45:06 +00:00
Duncan Sands
03fcbcf407
Revert turning copysignl into a COPYSIGN node for the moment:
...
ppc calls copysignl with a 128 bit ppc long double, resulting
in a node that the type legalizer doesn't know how to expand.
llvm-svn: 98357
2010-03-12 17:41:34 +00:00
Kovarththanan Rajaratnam
61bea8fe0b
Remove superfluous NULL assignment
...
llvm-svn: 98350
2010-03-12 14:17:24 +00:00
Benjamin Kramer
d69ee90f2f
Use StringRef::substr instead of std::string::substr to avoid using a free'd
...
string temporary. This should fix PR6590.
llvm-svn: 98349
2010-03-12 13:54:59 +00:00
Duncan Sands
607f1825b0
Now that it's supported, turn copysignl into a COPYSIGN node.
...
llvm-svn: 98348
2010-03-12 12:13:59 +00:00
Duncan Sands
4c55f76936
Fix PR6522: implement copysign expansion for x86 long double
...
(it seems that FreeBSD doesn't have copysignl). Done by
removing a bunch of assumptions from the code. This may also
help with sparc 128 bit floats.
llvm-svn: 98346
2010-03-12 11:45:06 +00:00
Benjamin Kramer
7b88a49f3e
Factor checked library call optimization into a common helper class and use it
...
to unify the almost identical code in CodeGenPrepare and InstCombineCalls.
llvm-svn: 98338
2010-03-12 09:27:41 +00:00
Chris Lattner
53ebf8a7ca
fix PR6577, a bug in sdbuilder lowering select instructions
...
whose true value was not Val#0.
llvm-svn: 98336
2010-03-12 07:15:36 +00:00
Chris Lattner
399f1f4fd3
update mkpatch for MC, patch by Aaron Gray
...
llvm-svn: 98334
2010-03-12 06:32:12 +00:00
Bill Wendling
dd3fe94336
The same situation that effected ARM effects PPC with regards to placing the
...
LSDA into the TEXT section. We need to generate non-lazy pointers to it on
Mach-O. However, the object the NLP points to may be local to the translation
unit. If so, then the NLP needs to have the value of that object specified
instead of "0", which the linker interprets as "external".
llvm-svn: 98325
2010-03-12 02:00:43 +00:00
Chris Lattner
47bef1a8a2
make TargetLoweringObjectFile::getExprForDwarfReference
...
just make unnamed temp symbols instead of having to come
up with its own names.
llvm-svn: 98324
2010-03-12 01:56:43 +00:00
Devang Patel
f5c2a6b371
There is no need to create specification DIE for definitions at DIFile level.
...
llvm-svn: 98302
2010-03-11 23:44:52 +00:00
Bill Wendling
faec0815a3
MC-ize PPC's asm printing of stubs.
...
llvm-svn: 98300
2010-03-11 23:39:44 +00:00
Nate Begeman
2e41605d4f
Whoops this already existed.
...
llvm-svn: 98297
2010-03-11 23:21:19 +00:00
Nate Begeman
5daa235c91
Add a handful of additional useful pass manager things to the C API
...
llvm-svn: 98296
2010-03-11 23:06:07 +00:00
Jakob Stoklund Olesen
cdb31d313f
Extract methods from LocalRewriter::RewriteMBB bringing it down to 666 lines.
...
llvm-svn: 98295
2010-03-11 23:04:34 +00:00
Chris Lattner
d3691dd04b
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
768ea2add2
change MCContext to always have an MCAsmInfo.
...
llvm-svn: 98293
2010-03-11 22:53:35 +00:00
Chris Lattner
03627cb12c
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
576aec4363
Remove getWidenVectorType, which is no longer used.
...
llvm-svn: 98289
2010-03-11 21:39:57 +00:00
Chris Lattner
216e7299d7
empty symbols aren't possible, the mcsymbol ctor aborts on them.
...
llvm-svn: 98288
2010-03-11 21:38:58 +00:00
Johnny Chen
c1d1229d78
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
2fc395659c
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
00810c39da
revert r98270.
...
llvm-svn: 98281
2010-03-11 19:50:31 +00:00
Chris Lattner
2562356992
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
180704dd1d
In case of tail call size of Ins and InVals may not match.
...
llvm-svn: 98277
2010-03-11 19:38:18 +00:00