David Goodwin [Tue, 14 Jul 2009 00:57:56 +0000 (00:57 +0000)]
Fix detection of valid BFC immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75576
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 14 Jul 2009 00:55:28 +0000 (00:55 +0000)]
Do not use Mangler to remove '1' from linkage name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75574
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 14 Jul 2009 00:53:58 +0000 (00:53 +0000)]
Check for the correct unnamed name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75573
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 14 Jul 2009 00:51:06 +0000 (00:51 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75572
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 14 Jul 2009 00:45:38 +0000 (00:45 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75571
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 14 Jul 2009 00:32:49 +0000 (00:32 +0000)]
Add a newline, now that Value's operator<< doesn't print one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75568
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 14 Jul 2009 00:32:11 +0000 (00:32 +0000)]
FreeInst is trapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75567
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 14 Jul 2009 00:23:44 +0000 (00:23 +0000)]
Fix an obvious copy-and-paste error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75566
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 14 Jul 2009 00:16:03 +0000 (00:16 +0000)]
Revert 75308.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Jul 2009 00:15:14 +0000 (00:15 +0000)]
the mangler can never mangle intrinsics, don't allow this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75564
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Tue, 14 Jul 2009 00:09:42 +0000 (00:09 +0000)]
Fix obvious typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75563
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 14 Jul 2009 00:01:42 +0000 (00:01 +0000)]
Revert 75309.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 Jul 2009 00:01:06 +0000 (00:01 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75561
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 23:50:59 +0000 (23:50 +0000)]
Move more functionality over to LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 23:50:53 +0000 (23:50 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 23:47:27 +0000 (23:47 +0000)]
remove mangler support for mangling local names. Mangler should only be
used with globals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 23:46:46 +0000 (23:46 +0000)]
fix CBE & MSIL backends to not use the mangler for non-global symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 23:44:13 +0000 (23:44 +0000)]
don't print redundant @PLT suffixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75554
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 13 Jul 2009 23:44:01 +0000 (23:44 +0000)]
Revert an accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 23:20:38 +0000 (23:20 +0000)]
the mangler should put suffixes on unnamed global's mangled names as well
if present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75547
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 23:16:26 +0000 (23:16 +0000)]
Move a bit more functionality to LLVMContext, which apparently wasn't being used anyways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75546
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Mon, 13 Jul 2009 23:15:14 +0000 (23:15 +0000)]
Added llvm-mc support for parsing the .abort directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75545
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 23:04:44 +0000 (23:04 +0000)]
Check in a reduced version of this testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75544
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 23:03:05 +0000 (23:03 +0000)]
Print a newline after printing a Value, now that Value's operator<<
doesn't print a newline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75543
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:56:37 +0000 (22:56 +0000)]
#include "llvm/Assembly/Writer.h" to get the declaration for WriteAsOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 22:48:46 +0000 (22:48 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75541
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 22:46:19 +0000 (22:46 +0000)]
Use assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75540
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 22:46:01 +0000 (22:46 +0000)]
PR4548: optimize zext+udiv+trunc to udiv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75539
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 22:41:06 +0000 (22:41 +0000)]
Inline EvalVectorOp in order to get rid of passing-pointer-to-static-methods behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75538
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 13 Jul 2009 22:40:39 +0000 (22:40 +0000)]
Cleanup the global emission and refactor some code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75537
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 22:40:32 +0000 (22:40 +0000)]
Fix the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75536
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 22:31:58 +0000 (22:31 +0000)]
NewNightlyTest.pl - Add -configure-args option.
- For adding arbitrary arguments to pass to configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75535
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 22:31:30 +0000 (22:31 +0000)]
Fix bug in run-line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75534
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:30:31 +0000 (22:30 +0000)]
Add testcases for PR4538, PR4537, and PR4534.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75533
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 22:28:21 +0000 (22:28 +0000)]
clean up some syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75532
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 22:27:52 +0000 (22:27 +0000)]
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.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75531
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:20:53 +0000 (22:20 +0000)]
Fix a few assertion strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75530
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:19:41 +0000 (22:19 +0000)]
Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75529
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 22:18:28 +0000 (22:18 +0000)]
These don't really need contexts either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75528
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 22:17:49 +0000 (22:17 +0000)]
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75527
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 22:07:30 +0000 (22:07 +0000)]
eliminate a bunch of code in print_pcrel_imm for printing symbols, using
printSymbolOperand instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75526
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:05:32 +0000 (22:05 +0000)]
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75525
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:04:06 +0000 (22:04 +0000)]
Fix an 80-column violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75524
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 22:02:44 +0000 (22:02 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75523
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Mon, 13 Jul 2009 21:58:44 +0000 (21:58 +0000)]
CMake: Refuses to work for out-of-source builds when tablegenned files
are found mixed with the sources. Fixes PR 4522.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 21:53:19 +0000 (21:53 +0000)]
move a method and add a comment, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75520
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 21:51:15 +0000 (21:51 +0000)]
Make Loop and MachineLoop be subclasses of LoopBase, rather than typedefs,
using the Curiously Recurring Template Pattern with LoopBase.
This will help further refactoring, and future functionality for
Loop. Also, Headers can now foward-declare Loop, instead of pulling
in LoopInfo.h or doing tricks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75519
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 21:48:33 +0000 (21:48 +0000)]
refactor operand printing to remove hte last of the "mem" modifier hack. The
only remaining modifier is "subreg".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75516
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 21:48:26 +0000 (21:48 +0000)]
Use AsmPrinter's Mangler to remove leading '1' from linkage names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75515
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 21:45:57 +0000 (21:45 +0000)]
Misc simplifications to InstCombiner::commonIntCastTransforms. Most of
the changes are allowed by not calling this function for bitcasts.
The Instruction::AShr case is dead because
SimplifyDemandedInstructionBits handles that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75514
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Mon, 13 Jul 2009 21:43:08 +0000 (21:43 +0000)]
Fix FP elimination code to work for Thumb-2 addrmode AddrModeT2_so. This fixes SingleSource/Benchmarks/Stanford/Queens (among others).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75513
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 21:41:08 +0000 (21:41 +0000)]
refactor symbol printing so the whole "mem" thing is handled in fewer places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75512
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 21:35:55 +0000 (21:35 +0000)]
Reapply 75252, with a fix to avoid the infinite recursion case. The
check for avoiding re-analyzing a widening cast needed to happen
earlier, as getSCEV itself may result in a isLoopGuardedByCond query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75511
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Mon, 13 Jul 2009 21:35:00 +0000 (21:35 +0000)]
CMake: tablegen: Add .td files under the inlude/llvm directory
hierarchy to the list of dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75510
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 21:27:19 +0000 (21:27 +0000)]
As Chris pointed out, this doesn't actually need an LLVMContext to operate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75508
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 21:26:33 +0000 (21:26 +0000)]
revert rev. 75503 for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75507
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 13 Jul 2009 21:19:56 +0000 (21:19 +0000)]
Use Mangler to remove leading '1' from linkage names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75503
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Mon, 13 Jul 2009 21:03:15 +0000 (21:03 +0000)]
add llvm-mc support for parsing the .subsections_via_symbols directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75500
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 20:58:59 +0000 (20:58 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75499
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 20:58:05 +0000 (20:58 +0000)]
Move more functionality over to LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75497
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 20:55:53 +0000 (20:55 +0000)]
Move the memoization check for SCEVSignExtendExpr and
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in PR4534.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75496
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 13 Jul 2009 20:53:00 +0000 (20:53 +0000)]
Don't bother to call commonIntCastTransforms for bitcasts; int->int
bitcasts will always be eliminated anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75495
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 20:50:19 +0000 (20:50 +0000)]
Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75494
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 20:46:11 +0000 (20:46 +0000)]
Delete a spurious const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75493
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 13 Jul 2009 20:27:41 +0000 (20:27 +0000)]
Reverted r75484. It was causing a failure with Apple-style builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75491
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 13 Jul 2009 20:25:48 +0000 (20:25 +0000)]
Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.
This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate. It also add parameters to
TargetAsmInfo to control comment layout.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 20:22:23 +0000 (20:22 +0000)]
Add NetBSD to the Triple class, patch by Krister Walfridsson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75489
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 13 Jul 2009 20:18:43 +0000 (20:18 +0000)]
More standard way of specifying greater than Leopard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75488
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 13 Jul 2009 18:48:39 +0000 (18:48 +0000)]
On greater than Leopard systems, place exception tables in the __TEXT section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75484
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 18:35:35 +0000 (18:35 +0000)]
Makefile rules for generating assembly matcher.
- Unused, fear not cmakers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75483
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 18:27:59 +0000 (18:27 +0000)]
Change printInstruction to not print a trailing newline. Value::dump
always adds a newline, so this fixes Value::dump printing an
extra blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75481
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 13 Jul 2009 18:25:44 +0000 (18:25 +0000)]
Add an optional optimization to FoldingSet to allow ID values to be
stored rather than recomputed on each bucket traversal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75480
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 13 Jul 2009 18:11:36 +0000 (18:11 +0000)]
Fix comment typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 17:20:05 +0000 (17:20 +0000)]
factor the 'optimized sort' code out into a static helper function
and use it from one more place. Patch by Jakub Staszak!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Jul 2009 17:14:23 +0000 (17:14 +0000)]
Move the re-sort of invalidated NonLocalPointerDeps cache earlier
so that all code paths get it. PR4256 was about a case where the
phi translation loop would find all preds in the Visited cache, so
it could get by without re-sorting the NonLocalPointerDeps cache.
Fix this by resorting it earlier, there is no reason not to do this.
This patch inspired by Jakub Staszak's patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75476
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 13 Jul 2009 16:49:27 +0000 (16:49 +0000)]
Make some more changes suggested by Chris. Manipulators go away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75472
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Mon, 13 Jul 2009 10:58:55 +0000 (10:58 +0000)]
Added a fixme for platform specific GetDirSeparator().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75461
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Mon, 13 Jul 2009 10:56:29 +0000 (10:56 +0000)]
allow mcc16 users to specify --save-temps even though it is hidden by mcc16.
link libstd.so with llvm-ld by default with all the programs user is trying to build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75460
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 06:04:06 +0000 (06:04 +0000)]
Match declaration to definition (missed a few).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75456
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 06:00:39 +0000 (06:00 +0000)]
Tweak svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75455
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 06:00:13 +0000 (06:00 +0000)]
Match declaration to definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75454
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Jul 2009 05:49:04 +0000 (05:49 +0000)]
Fix build on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75453
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 05:29:34 +0000 (05:29 +0000)]
Fix some non-sensical code.
- This makes it more like other similar code in Archive handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75452
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 13 Jul 2009 05:27:30 +0000 (05:27 +0000)]
Switch to raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75451
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Mon, 13 Jul 2009 05:01:19 +0000 (05:01 +0000)]
Removed some junk code that snuck in to an earlier commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75450
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Jul 2009 04:50:21 +0000 (04:50 +0000)]
Fix an error in ConstantRange::getSignedMax on wrapped ranges. Thanks once
again to Daniel Dunbar and KLEE!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75449
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Jul 2009 04:17:23 +0000 (04:17 +0000)]
'i8 full-range' sign extended to i16 should equal [-128, 128) not [-128, 127).
Found by Daniel Dunbar and KLEE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75448
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 13 Jul 2009 04:09:18 +0000 (04:09 +0000)]
Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Jul 2009 03:27:41 +0000 (03:27 +0000)]
Multiply was very wrong for wrapped ranges. This supplies a half-fix that will
generally return Full on all wrapped inputs. "Fixes" PR4545.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75444
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 13 Jul 2009 02:49:08 +0000 (02:49 +0000)]
Fix a bug summing two full sets. The overflow checking doesn't handle sets as
large as the full set, only those one size smaller. Thanks to Daniel Dunbar
who found this bug using Klee!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75443
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 23:50:34 +0000 (23:50 +0000)]
Match declaration to definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75440
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 22:46:08 +0000 (22:46 +0000)]
Match declaration to definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 21:30:06 +0000 (21:30 +0000)]
remove tests for removed intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Jul 2009 21:08:53 +0000 (21:08 +0000)]
remove llvm.part.set.* and llvm.part.select.*. They have never been
implemented in codegen, have no frontend to generate them, and are
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).
PR4543
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75430
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 21:01:49 +0000 (21:01 +0000)]
Use llvm_report_error, not llvm_unreachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75429
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Sun, 12 Jul 2009 21:01:44 +0000 (21:01 +0000)]
Mention that llvm_report_error() does not return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75428
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 20:41:27 +0000 (20:41 +0000)]
Add an LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75426
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 20:23:56 +0000 (20:23 +0000)]
Improve sys::Path::makeAbsolute on Win32.
- Patch by Viktor Kutuzov!
- Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75424
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Sun, 12 Jul 2009 20:07:01 +0000 (20:07 +0000)]
Fix assert(0) conversion, as suggested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75423
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sun, 12 Jul 2009 19:45:34 +0000 (19:45 +0000)]
Clarify a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75422
91177308-0d34-0410-b5e6-
96231b3b80d8