Chris Lattner
446d589cad
Fix a bug I introduced in FnStubs generation, switch GVStubs to be a
...
densemap instead of StringMap to match FnStubs.
llvm-svn: 81513
2009-09-11 06:59:18 +00:00
John McCall
e1f2ec28d8
When stringizing a NamedDecl for a diagnostic, treat the template
...
specialization types differently.
llvm-svn: 81512
2009-09-11 06:45:03 +00:00
Chris Lattner
9a7edd6bba
change FnStubs from being a StringMap<std::string> to being a much
...
more efficient SmallPtrSet<MCSymbol*>. This eliminates string
craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter.
Codegen is producing stubs in a nondeterminstic order, but it was doing
this before anyway.
llvm-svn: 81511
2009-09-11 06:36:33 +00:00
Daniel Dunbar
ea1c037177
Update prototype.
...
llvm-svn: 81510
2009-09-11 06:34:14 +00:00
Chris Lattner
30c44c053f
printInstruction() no longer prints a \n after itself, do it
...
for the two instruction MOVPC32r sequence.
llvm-svn: 81509
2009-09-11 05:59:55 +00:00
Chris Lattner
35ed98aaef
reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms of
...
Mangler::getNameWithPrefix. In addition to avoiding some over
quoting, this also is more efficient because it uses smallvector
instead of std::string thrashing.
llvm-svn: 81508
2009-09-11 05:58:44 +00:00
Anders Carlsson
99056f23b7
Fix PR4878 for real.
...
llvm-svn: 81507
2009-09-11 05:54:14 +00:00
Chris Lattner
c827f53495
fix prefix ordering, it's L_foo not _Lfoo
...
llvm-svn: 81506
2009-09-11 05:51:29 +00:00
Chris Lattner
840c8d72d0
add a new Mangler::getNameWithPrefix API which returns the
...
(uniqued if unnamed) global variable name with the prefix that
it is supposed to get. It doesn't do "mangling" in the sense of
adding quotes and hacking on bad characters.
llvm-svn: 81505
2009-09-11 05:40:42 +00:00
John McCall
7f41d98928
Support elaborated dependent types and diagnose tag mismatches.
...
llvm-svn: 81504
2009-09-11 04:59:25 +00:00
Chris Lattner
1051efc339
convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallString
...
instead of std::string and Mangler.
llvm-svn: 81503
2009-09-11 04:36:43 +00:00
Chris Lattner
482c5df56d
rearrange some code, export a SmallString version of DecorateCygMingName.
...
llvm-svn: 81502
2009-09-11 04:28:13 +00:00
Zhongxing Xu
dc299bc481
Start to add a new transfer function that inlines callee. To be continued.
...
llvm-svn: 81501
2009-09-11 04:13:42 +00:00
Sam Weinig
bae6914314
Test commit
...
llvm-svn: 81500
2009-09-11 03:29:30 +00:00
Chris Lattner
92ada5dc52
more typos
...
llvm-svn: 81499
2009-09-11 01:49:31 +00:00
Anders Carlsson
0b209a8632
Instantiate PredefinedExprs correctly. Patch by Sam Weinig!
...
llvm-svn: 81498
2009-09-11 01:22:35 +00:00
Daniel Dunbar
33a004e9eb
Swizzle the target triple based on -mthumb, and update clang-cc to recognize
...
thumb-foo-bar as an ARM target.
llvm-svn: 81497
2009-09-11 01:14:50 +00:00
Evan Cheng
74a3231de4
Follow up to 81494. When the folded reload is narrowed to a 32-bit load then change the destination register to a 32-bit one or add a sub-register index.
...
llvm-svn: 81496
2009-09-11 01:01:31 +00:00
Chris Lattner
82bea72032
PHI nodes can never reach the asmprinter, assert and die instead of printing
...
out an illegal "PHINODE" instruction.
llvm-svn: 81495
2009-09-11 00:41:15 +00:00
Evan Cheng
3cad6283b8
It's not legal to fold a load from a narrower stack slot into a wider instruction. If done, the instruction does a 64-bit load and that's not
...
safe. This can happen we a subreg_to_reg 0 has been coalesced. One
exception is when the instruction that folds the load is a move, then we
can simply turn it into a 32-bit load from the stack slot.
rdar://7170444
llvm-svn: 81494
2009-09-11 00:39:26 +00:00
Dan Gohman
9cbef32726
Make fast-isel try ISD::FNEG before resorting to bitcasts and xors.
...
llvm-svn: 81493
2009-09-11 00:36:43 +00:00
Dan Gohman
89b090e51e
Reapply r81171 with a fix: don't try to use i64 when it
...
isn't legal.
llvm-svn: 81492
2009-09-11 00:34:46 +00:00
Dan Gohman
0533ffa2a6
Update this test to expect the "inbounds" keyword, which LLVM's constant
...
folder is now automatically adding.
llvm-svn: 81491
2009-09-11 00:27:06 +00:00
Douglas Gregor
73341c4e63
Diagnose VLAs as an error in C++.
...
Also, treat the GNU __null as an integral constant expression to match
GCC's behavior.
llvm-svn: 81490
2009-09-11 00:18:58 +00:00
Steve Naroff
e0064d2e95
Make sure ObjCInterfaceDecl's that are forward declared always contain a valid location.
...
llvm-svn: 81487
2009-09-11 00:12:01 +00:00
Anders Carlsson
fd384d8065
Pass the GlobalDecl to getMangledName, fixes PR4890.
...
llvm-svn: 81486
2009-09-11 00:11:35 +00:00
Anders Carlsson
73fcc95f0f
Pass GlobalDecls to GenerateCode and StartFunction.
...
llvm-svn: 81485
2009-09-11 00:07:24 +00:00
Dan Gohman
11ff570292
Fix indentation.
...
llvm-svn: 81484
2009-09-11 00:05:10 +00:00
Dan Gohman
21c6216c87
Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
...
how to fold notionally-out-of-bounds array getelementptr indices instead
of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
be done in a fairly general way without TargetData, and because not all
constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
more constant folding.
Also, set the "inbounds" flag when the getelementptr indices are
one-past-the-end.
llvm-svn: 81483
2009-09-11 00:04:14 +00:00
Daniel Dunbar
c91aeac18b
Stub out structure for building armv{6,7} libs.
...
llvm-svn: 81482
2009-09-10 23:50:10 +00:00
Anders Carlsson
ecf9bf0158
GlobalDecl doesn't have an explicit constructor anymore.
...
llvm-svn: 81481
2009-09-10 23:43:36 +00:00
Anders Carlsson
38988d7ee0
Add stricter GlobalDecl constructors.
...
llvm-svn: 81480
2009-09-10 23:38:47 +00:00
Fariborz Jahanian
8d6298b272
Fix a regression where write-barrier was not being generated
...
for block pointer.
llvm-svn: 81479
2009-09-10 23:38:45 +00:00
Dan Gohman
7190d48075
Factor out the code for checking that all indices in a getelementptr are
...
within the notional bounds of the static type of the getelementptr (which
is not the same as "inbounds") from GlobalOpt into a utility routine,
and use it in ConstantFold.cpp to check whether there are any mis-behaved
indices.
llvm-svn: 81478
2009-09-10 23:37:55 +00:00
Douglas Gregor
8ef65fbd49
Eliminate some "default"s in CheckICE.
...
llvm-svn: 81477
2009-09-10 23:31:45 +00:00
Daniel Dunbar
85922561ee
Unbreak building of assembly files (broken by my .s -> .S rename).
...
- Noticed & patched by Nick Kledzik.
- This may expose portability issues in the .S files, if so we should either
disable them on non-Darwin, or even better make them portable.
llvm-svn: 81476
2009-09-10 23:27:45 +00:00
Anders Carlsson
78b5493994
Look for overloaded arrow operators in base classes.
...
llvm-svn: 81475
2009-09-10 23:18:36 +00:00
Daniel Dunbar
be6505cbd9
Include universal build step in 'make {Debug,Release,Profile}' targets.
...
llvm-svn: 81474
2009-09-10 23:13:59 +00:00
Dan Gohman
91d598de5c
Give these files top-level comments that describe the current code.
...
llvm-svn: 81473
2009-09-10 23:07:18 +00:00
Daniel Dunbar
8c10ff8f13
Teach LIT2 how to run Clang tests in the objdir for srcdir != objdir builds.
...
llvm-svn: 81472
2009-09-10 23:00:15 +00:00
Daniel Dunbar
7848592ec6
Initial handling of -m{soft-float,hard-float,float-abi=} for ARM.
...
llvm-svn: 81471
2009-09-10 23:00:09 +00:00
Daniel Dunbar
e2cf8f7b53
Move X86 handling of -m[no-]soft-float and -m[no-]red-zone into AddX86TargetArgs.
...
llvm-svn: 81470
2009-09-10 22:59:57 +00:00
Daniel Dunbar
f492c92761
Change getLLVMArchNameForARM to just get the suffix.
...
llvm-svn: 81469
2009-09-10 22:59:51 +00:00
Devang Patel
5ffc3854f6
Fix whitespaces.
...
llvm-svn: 81468
2009-09-10 22:36:12 +00:00
Fariborz Jahanian
c571f790fc
Patch to collect conversion methods in base(s) and derived
...
class into a candidate set.
llvm-svn: 81467
2009-09-10 22:26:16 +00:00
Bill Wendling
fd27201d39
Fix validation errors.
...
llvm-svn: 81466
2009-09-10 22:14:16 +00:00
Bill Wendling
33b693f52b
Fix validation errors.
...
llvm-svn: 81465
2009-09-10 22:12:50 +00:00
Bob Wilson
39f51320ca
Don't swap the operands of a subtraction when trying to create a
...
post-decrement load/store.
llvm-svn: 81464
2009-09-10 22:09:31 +00:00
Dale Johannesen
50f0376f49
Fix uppercaseo.
...
llvm-svn: 81463
2009-09-10 22:01:32 +00:00
Fariborz Jahanian
2cde203392
Non fragile ABI for GNU runtime. Patch bu David Chisnall.
...
llvm-svn: 81462
2009-09-10 21:48:21 +00:00