Bob Wilson
f37517af8c
Fix a comment.
...
llvm-svn: 75612
2009-07-14 06:09:50 +00:00
Bob Wilson
7c4dde989d
Fix an obvious error.
...
llvm-svn: 75611
2009-07-14 06:06:28 +00:00
Chris Lattner
b0e0d16efb
Change the X86 asmprinter to use the mangler to apply suffixes like "$non_lazy_ptr"
...
to symbols instead of doing it with "printSuffixedName". This gets us to the point
where there is a real separation between computing a symbol name and printing it,
something I need for MC printer stuff.
This patch also fixes a corner case bug where unnamed private globals wouldn't get
the private label prefix.
Next up, rename all uses of getValueName -> getMangledName for better greppability,
and then tackle the ppc/arm backends to eliminate "printSuffixedName".
llvm-svn: 75610
2009-07-14 06:04:35 +00:00
Lang Hames
7238ca2267
New VNInfo alignment patch by Ryan Flynn.
...
llvm-svn: 75609
2009-07-14 05:46:55 +00:00
Chris Lattner
2a6bb9bc51
Change the internal interface to makeNameProper to take a bool that
...
indicates whether the label is private or not, instead of taking
prefix stuff. One effect of this is that symbols will be generated
with *just* the private prefix, instead of both the private prefix
*and* the user-label-prefix, but this doesn't matter as long as it
is consistent. For example we'll now get "Lfoo" instead of "L_foo".
These are just assembler temporary labels anyway, so they never even
make it into the .o file.
llvm-svn: 75607
2009-07-14 04:50:12 +00:00
Lang Hames
19644baf4c
Unbroke LiveInterval.
...
llvm-svn: 75588
2009-07-14 02:17:17 +00:00
Lang Hames
2600777dac
Tidy up VNInfo alignment code. Patch contributed by Ryan Flynn.
...
llvm-svn: 75587
2009-07-14 02:05:37 +00:00
Eli Friedman
63028801b8
Fix trivial todo in instcombine.
...
llvm-svn: 75586
2009-07-14 02:01:53 +00:00
Evan Cheng
b8666f7abc
1. In Thumb mode, select tBx instead of ARM variants.
...
2. BX does not "use" the link register, it defines it.
3. Fix a couple more places in thumb td file that still uses pre-UAL syntax.
llvm-svn: 75585
2009-07-14 01:49:27 +00:00
Dan Gohman
493855541b
Update LoopSimplify and LoopUnswitch to use the new makeLoopInvariant
...
function.
llvm-svn: 75584
2009-07-14 01:37:59 +00:00
Dan Gohman
b4db50265f
Port this unittest to use LLVMContext.
...
llvm-svn: 75583
2009-07-14 01:26:26 +00:00
Bill Wendling
16502fbbcc
Remove hack now that Evan fixed it so that the frame pointer isn't saved twice.
...
llvm-svn: 75581
2009-07-14 01:16:18 +00:00
Dan Gohman
b9f3a3c96b
Fix indvars to not assume that a loop with a single unique exit
...
block has a single unique exiting block.
llvm-svn: 75579
2009-07-14 01:09:02 +00:00
Dan Gohman
80062e52e0
Introduce a new LoopInfo utility function makeLoopInvariant, which
...
works similar to isLoopInvariant, except that it will do trivial
hoisting to try to make the value loop invariant if it isn't already.
This makes it easier for transformation passes to clear trivial
instructions out of the way (the regular LICM pass doesn't run
until relatively late). This is code factored out of LoopSimplify
and other places.
llvm-svn: 75578
2009-07-14 01:06:29 +00:00
Chris Lattner
774d30003c
use getValueName instead of makeNameProper.
...
llvm-svn: 75577
2009-07-14 01:01:12 +00:00
David Goodwin
88f38c0380
Fix detection of valid BFC immediates.
...
llvm-svn: 75576
2009-07-14 00:57:56 +00:00
Devang Patel
4992f3bed3
Do not use Mangler to remove '1' from linkage name.
...
llvm-svn: 75574
2009-07-14 00:55:28 +00:00
Bill Wendling
0751c92127
Check for the correct unnamed name.
...
llvm-svn: 75573
2009-07-14 00:53:58 +00:00
Evan Cheng
9554d9840f
Fix pr4544. When remating, make sure the destination register fits the instruction definition. It may be mismatched due to sub-register coalescing.
...
No test case yet because the code doesn't trigger until 75408 is re-applied.
llvm-svn: 75572
2009-07-14 00:51:06 +00:00
Dale Johannesen
de1ed58935
Don't delete asm's just because their inputs are undefined;
...
xor R, R is a common and valid idiom for zeroing a register, for example.
llvm-svn: 75571
2009-07-14 00:45:38 +00:00
Dan Gohman
46fa731fe5
Add a newline, now that Value's operator<< doesn't print one.
...
llvm-svn: 75568
2009-07-14 00:32:49 +00:00
Dan Gohman
194a3c6000
FreeInst is trapping.
...
llvm-svn: 75567
2009-07-14 00:32:11 +00:00
Bob Wilson
a8d7dde3ce
Fix an obvious copy-and-paste error.
...
llvm-svn: 75566
2009-07-14 00:23:44 +00:00
Bob Wilson
cb91024983
Revert 75308.
...
llvm-svn: 75565
2009-07-14 00:16:03 +00:00
Chris Lattner
e7bf8a9cca
the mangler can never mangle intrinsics, don't allow this.
...
llvm-svn: 75564
2009-07-14 00:15:14 +00:00
Eli Friedman
88f1b31a57
Fix obvious typo.
...
llvm-svn: 75563
2009-07-14 00:09:42 +00:00
Bob Wilson
4c76b1c7fc
Revert 75309.
...
llvm-svn: 75562
2009-07-14 00:01:42 +00:00
Chris Lattner
6460e403a7
rename Memo/Count to AnonGlobalIDs/NextAnonGlobalID to be more
...
descriptive. Thange them to keep track of the ID of a global that is
assigned, not the first mangled name returned for it. Without doing this,
we are required to always use the same suffix for a global that gets
mangled. This means that we can mangle the same global once with $stub
and another time with $non_lazy_ptr or whatever.
llvm-svn: 75561
2009-07-14 00:01:06 +00:00
Owen Anderson
1404d6e7d1
Move more functionality over to LLVMContext.
...
llvm-svn: 75559
2009-07-13 23:50:59 +00:00
Chris Lattner
1b09927043
remove Mangler::getTypeID and related data, it was only used for mangling
...
local symbols and we haven't had type planes since llvm 1.9.
llvm-svn: 75558
2009-07-13 23:50:53 +00:00
Chris Lattner
4ea397f845
remove mangler support for mangling local names. Mangler should only be
...
used with globals.
llvm-svn: 75557
2009-07-13 23:47:27 +00:00
Chris Lattner
2a0ba70c02
fix CBE & MSIL backends to not use the mangler for non-global symbols.
...
llvm-svn: 75556
2009-07-13 23:46:46 +00:00
Chris Lattner
85170a73c8
don't print redundant @PLT suffixes
...
llvm-svn: 75554
2009-07-13 23:44:13 +00:00
Evan Cheng
7c051b0c6f
Revert an accidental commit.
...
llvm-svn: 75553
2009-07-13 23:44:01 +00:00
Chris Lattner
a7fc4621cd
the mangler should put suffixes on unnamed global's mangled names as well
...
if present.
llvm-svn: 75547
2009-07-13 23:20:38 +00:00
Owen Anderson
9ff3b6191e
Move a bit more functionality to LLVMContext, which apparently wasn't being used anyways.
...
llvm-svn: 75546
2009-07-13 23:16:26 +00:00
Kevin Enderby
af095fcfb8
Added llvm-mc support for parsing the .abort directive.
...
llvm-svn: 75545
2009-07-13 23:15:14 +00:00
Dan Gohman
66e40e59e0
Check in a reduced version of this testcase.
...
llvm-svn: 75544
2009-07-13 23:04:44 +00:00
Dan Gohman
fd3cc860ec
Print a newline after printing a Value, now that Value's operator<<
...
doesn't print a newline.
llvm-svn: 75543
2009-07-13 23:03:05 +00:00
Dan Gohman
7d880c801b
#include "llvm/Assembly/Writer.h" to get the declaration for WriteAsOperand.
...
llvm-svn: 75542
2009-07-13 22:56:37 +00:00
Chris Lattner
1ab26071d4
Two changes:
...
1) unique globals with the existing "Count" local in Mangler, not with
atomic nonsense. Using atomics will give us nondeterminstic output
from the compiler when using multiple threads, which is bad.
2) Do not mangle an unknown global name with a type suffix. We don't
need this anymore now that llvm ir doesn't have type planes.
llvm-svn: 75541
2009-07-13 22:48:46 +00:00
Devang Patel
8af4ed78a9
Use assertion.
...
llvm-svn: 75540
2009-07-13 22:46:19 +00:00
Eli Friedman
a6c7a3d44e
PR4548: optimize zext+udiv+trunc to udiv.
...
llvm-svn: 75539
2009-07-13 22:46:01 +00:00
Owen Anderson
3e807fb553
Inline EvalVectorOp in order to get rid of passing-pointer-to-static-methods behavior.
...
llvm-svn: 75538
2009-07-13 22:41:06 +00:00
Bruno Cardoso Lopes
046ddf7ca0
Cleanup the global emission and refactor some code
...
llvm-svn: 75537
2009-07-13 22:40:39 +00:00
Owen Anderson
1169a91099
Fix the build.
...
llvm-svn: 75536
2009-07-13 22:40:32 +00:00
Daniel Dunbar
b122c24619
NewNightlyTest.pl - Add -configure-args option.
...
- For adding arbitrary arguments to pass to configure.
llvm-svn: 75535
2009-07-13 22:31:58 +00:00
Eli Friedman
47839d3dec
Fix bug in run-line.
...
llvm-svn: 75534
2009-07-13 22:31:30 +00:00
Dan Gohman
5d53d0b73b
Add testcases for PR4538, PR4537, and PR4534.
...
llvm-svn: 75533
2009-07-13 22:30:31 +00:00
Chris Lattner
6ace4d4863
clean up some syntax.
...
llvm-svn: 75532
2009-07-13 22:28:21 +00:00