Dan Gohman
4d6149f356
Update LoopSimplify and LoopUnswitch to use the new makeLoopInvariant
...
function.
llvm-svn: 75584
2009-07-14 01:37:59 +00:00
Dan Gohman
734759e5db
Port this unittest to use LLVMContext.
...
llvm-svn: 75583
2009-07-14 01:26:26 +00:00
Bill Wendling
b1f9128c72
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
03d5d0f451
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
6f6d864815
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
fc4b5cb7a6
use getValueName instead of makeNameProper.
...
llvm-svn: 75577
2009-07-14 01:01:12 +00:00
David Goodwin
72b80ac9b1
Fix detection of valid BFC immediates.
...
llvm-svn: 75576
2009-07-14 00:57:56 +00:00
Devang Patel
cdfc858ec0
Do not use Mangler to remove '1' from linkage name.
...
llvm-svn: 75574
2009-07-14 00:55:28 +00:00
Bill Wendling
e604b776a7
Check for the correct unnamed name.
...
llvm-svn: 75573
2009-07-14 00:53:58 +00:00
Evan Cheng
26bed68f5b
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
85ae7480d9
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
f2c9922f50
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
8da86eb274
FreeInst is trapping.
...
llvm-svn: 75567
2009-07-14 00:32:11 +00:00
Bob Wilson
7bbb9a91ab
Fix an obvious copy-and-paste error.
...
llvm-svn: 75566
2009-07-14 00:23:44 +00:00
Bob Wilson
c6026b5198
Revert 75308.
...
llvm-svn: 75565
2009-07-14 00:16:03 +00:00
Chris Lattner
05f1976aba
the mangler can never mangle intrinsics, don't allow this.
...
llvm-svn: 75564
2009-07-14 00:15:14 +00:00
Eli Friedman
2976318bb2
Fix obvious typo.
...
llvm-svn: 75563
2009-07-14 00:09:42 +00:00
Bob Wilson
acb9927fd8
Revert 75309.
...
llvm-svn: 75562
2009-07-14 00:01:42 +00:00
Chris Lattner
105efaf3df
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
3e42e9f2fc
Move more functionality over to LLVMContext.
...
llvm-svn: 75559
2009-07-13 23:50:59 +00:00
Chris Lattner
327387156a
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
15c6d8779b
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
874727fb73
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
d8435e9989
don't print redundant @PLT suffixes
...
llvm-svn: 75554
2009-07-13 23:44:13 +00:00
Evan Cheng
6698ab9ade
Revert an accidental commit.
...
llvm-svn: 75553
2009-07-13 23:44:01 +00:00
Chris Lattner
cf485bd781
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
13c240a4c1
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
56523ceba1
Added llvm-mc support for parsing the .abort directive.
...
llvm-svn: 75545
2009-07-13 23:15:14 +00:00
Dan Gohman
dbaddda21f
Check in a reduced version of this testcase.
...
llvm-svn: 75544
2009-07-13 23:04:44 +00:00
Dan Gohman
fda3c4ac89
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
e2d31aa132
#include "llvm/Assembly/Writer.h" to get the declaration for WriteAsOperand.
...
llvm-svn: 75542
2009-07-13 22:56:37 +00:00
Chris Lattner
ec8efcb44e
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
9efced9817
Use assertion.
...
llvm-svn: 75540
2009-07-13 22:46:19 +00:00
Eli Friedman
4b95026194
PR4548: optimize zext+udiv+trunc to udiv.
...
llvm-svn: 75539
2009-07-13 22:46:01 +00:00
Owen Anderson
85f86dc058
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
ffb38f8d35
Cleanup the global emission and refactor some code
...
llvm-svn: 75537
2009-07-13 22:40:39 +00:00
Owen Anderson
b258410a1b
Fix the build.
...
llvm-svn: 75536
2009-07-13 22:40:32 +00:00
Daniel Dunbar
e12dcd976d
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
116e3b3ef1
Fix bug in run-line.
...
llvm-svn: 75534
2009-07-13 22:31:30 +00:00
Dan Gohman
054d2a7837
Add testcases for PR4538, PR4537, and PR4534.
...
llvm-svn: 75533
2009-07-13 22:30:31 +00:00
Chris Lattner
a45c9b67cc
clean up some syntax.
...
llvm-svn: 75532
2009-07-13 22:28:21 +00:00
Eli Friedman
7e1716dc9d
Canonicalize boolean +/- a constant to a select.
...
(I think it's reasonably clear that we want to have a canonical form for
constructs like this; if anyone thinks that a select is not the best
canonical form, please tell me.)
llvm-svn: 75531
2009-07-13 22:27:52 +00:00
Dan Gohman
dd707af345
Fix a few assertion strings.
...
llvm-svn: 75530
2009-07-13 22:20:53 +00:00
Dan Gohman
6a9bb1397f
Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.
...
llvm-svn: 75529
2009-07-13 22:19:41 +00:00
Owen Anderson
bb2501bbbe
These don't really need contexts either.
...
llvm-svn: 75528
2009-07-13 22:18:28 +00:00
Daniel Dunbar
4f57d77e40
NewNightlyTest.pl - Add -noremoveatend option.
...
- Like -noremove, except the build directory is still purged prior to building
but isn't removed at the end of the test run (so the build products can be
examined if need be).
llvm-svn: 75527
2009-07-13 22:17:49 +00:00
Chris Lattner
f8542ba3a9
eliminate a bunch of code in print_pcrel_imm for printing symbols, using
...
printSymbolOperand instead.
llvm-svn: 75526
2009-07-13 22:07:30 +00:00
Dan Gohman
fc7699405c
Whitespace cleanups.
...
llvm-svn: 75525
2009-07-13 22:05:32 +00:00
Dan Gohman
e6b4babcbb
Fix an 80-column violation.
...
llvm-svn: 75524
2009-07-13 22:04:06 +00:00
Dan Gohman
80a9942593
Move isLCSSAForm, isLoopInvariant, getCanonicalInductionVariable,
...
and related functions out of LoopBase and into Loop, since they
are specific to BasicBlock-based loops. This also allows the code
to be moved out-of-line.
llvm-svn: 75523
2009-07-13 22:02:44 +00:00