Bob Wilson [Thu, 19 Aug 2010 23:39:00 +0000 (23:39 +0000)]
Update comment to remove special case for vector extending loads. An
extending vector load should extend each element in the same way as the
corresponding scalar extending load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111577
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Aug 2010 23:33:02 +0000 (23:33 +0000)]
Update debug logs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111575
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Aug 2010 23:32:47 +0000 (23:32 +0000)]
Properly update MachineDominators when splitting critical edge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111574
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Aug 2010 23:25:16 +0000 (23:25 +0000)]
Revert r111568 to unbreak clang self-host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111571
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Aug 2010 22:15:40 +0000 (22:15 +0000)]
When a set of bitmask operations, typically from a bitfield initialization, only modifies the low bytes of a value,
we can narrow the store to only over-write the affected bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111568
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 19 Aug 2010 20:04:19 +0000 (20:04 +0000)]
llvmc: Update examples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111553
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 19 Aug 2010 20:03:53 +0000 (20:03 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111552
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Aug 2010 19:47:08 +0000 (19:47 +0000)]
Disable LVI while I evaluate a failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111551
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Aug 2010 19:04:40 +0000 (19:04 +0000)]
Tentatively enabled LVI by default. I'll be monitoring for any failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111543
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Aug 2010 18:52:17 +0000 (18:52 +0000)]
Correct header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111540
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Aug 2010 18:52:02 +0000 (18:52 +0000)]
Silence 'unused' warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111539
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Aug 2010 18:33:29 +0000 (18:33 +0000)]
It's possible to sink a def if its local uses are PHI's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111537
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 19 Aug 2010 18:16:39 +0000 (18:16 +0000)]
Fix the msvc 2010 build.
The Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01
implements parts of C++0x based on the draft standard. An old version of
the draft had a bug that makes std::pair<T1*, T2*>(something, 0) fail to
compile. This is because the template<class U, class V> pair(U&& x, V&& y)
constructor is selected, even though it later fails to implicitly convert
U and V to frist_type and second_type.
This has been fixed in n3090, but it seems that Microsoft is not going to
update msvc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111535
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 19 Aug 2010 17:58:35 +0000 (17:58 +0000)]
Do not assert when reading an exponent out of range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111534
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Aug 2010 17:52:13 +0000 (17:52 +0000)]
Add Thumb1 support for virtual frame indices.
rdar://
8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111533
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Aug 2010 17:33:48 +0000 (17:33 +0000)]
Remove disabled assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111531
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Aug 2010 17:33:11 +0000 (17:33 +0000)]
Teach machine-sink to break critical edges when appropriate. Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111530
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Aug 2010 17:21:21 +0000 (17:21 +0000)]
buildbot/valgrind: Update RegisterPass false positive suppression for API
changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111529
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Aug 2010 17:21:17 +0000 (17:21 +0000)]
buildbot/valgrind: Suppress warnings about leaks in /bin/grep.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111528
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 19 Aug 2010 17:21:10 +0000 (17:21 +0000)]
Re-re-revert this patch. It seems to be causing performance
and correctness regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111527
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Aug 2010 16:47:54 +0000 (16:47 +0000)]
tests: Haste makes waste.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111525
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Aug 2010 16:46:52 +0000 (16:46 +0000)]
tests: Ignore whitespace in llvm_supports_binding() and llvm_gcc_supports().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111524
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 19 Aug 2010 15:35:27 +0000 (15:35 +0000)]
Silence warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111518
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 19 Aug 2010 13:44:49 +0000 (13:44 +0000)]
MCELF: Count the section orders properly. Patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111517
91177308-0d34-0410-b5e6-
96231b3b80d8
Kenneth Uildriks [Thu, 19 Aug 2010 12:42:38 +0000 (12:42 +0000)]
Fixed and reactivated a partial specialization test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111516
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 19 Aug 2010 06:11:05 +0000 (06:11 +0000)]
Use std::string instead of StringRef in ClangAttrEmitter.cpp; per report on
cfe-dev, fixes an error compiling with MSVC. Using a StringRef here doesn't
look safe in any case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111513
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Aug 2010 02:47:08 +0000 (02:47 +0000)]
Update local stack block allocation to let PEI do the allocs if no additional
base registers were required. This will allow for slightly better packing
of the locals when alignment padding is necessary after callee saved registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111508
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 19 Aug 2010 01:29:07 +0000 (01:29 +0000)]
Revert r111199; it breaks -debug-pass=Structure output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111500
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 19 Aug 2010 01:25:50 +0000 (01:25 +0000)]
Reapply the virtual register patch from 109102. The places where we were
depending on the number of virtual registers appear to have all been handled
now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111499
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Aug 2010 01:18:43 +0000 (01:18 +0000)]
fix PR7465, mishandling of lcall and ljmp: intersegment long
call and jumps.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111496
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 19 Aug 2010 01:02:31 +0000 (01:02 +0000)]
Process the step before the start, because it's usually the simpler
of the two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Aug 2010 01:00:34 +0000 (01:00 +0000)]
minor progress towards fixing PR7465
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111494
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 19 Aug 2010 00:37:05 +0000 (00:37 +0000)]
Add an AddOptionalDefs method and use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111489
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Aug 2010 00:22:45 +0000 (00:22 +0000)]
lit/GoogleTest: Add .exe to the suffix when looking for tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111487
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Thu, 19 Aug 2010 00:19:03 +0000 (00:19 +0000)]
Add include missing for VC build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111484
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 19 Aug 2010 00:09:07 +0000 (00:09 +0000)]
Testcase for llvm-gcc checkin 111482.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111483
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Aug 2010 00:05:48 +0000 (00:05 +0000)]
Add the "isCompare" attribute to the defm instead of each individual instr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111481
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Thu, 19 Aug 2010 00:03:05 +0000 (00:03 +0000)]
Remove three spurious semicolons
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111480
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 23:56:46 +0000 (23:56 +0000)]
Don't call Predicate_* in Mips.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111468
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 18 Aug 2010 23:38:16 +0000 (23:38 +0000)]
Remove extra header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111456
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Hunt [Wed, 18 Aug 2010 23:23:09 +0000 (23:23 +0000)]
Finish full attribute class emission for clang.
For more information, see the accompanying clang patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111454
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Aug 2010 23:14:02 +0000 (23:14 +0000)]
Add a newline to debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 23:09:49 +0000 (23:09 +0000)]
refix PR1143 by making basicaa analyze zexts of indices aggresively,
which I broke with a recent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111452
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Aug 2010 23:09:25 +0000 (23:09 +0000)]
If any def of a machine-sink candidate has local uses, it's obviously not safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 22:52:09 +0000 (22:52 +0000)]
GetLinearExpression is only called when TD is non-null, pass as
a reference instead of pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 22:47:56 +0000 (22:47 +0000)]
rework GEP decomposition to make a new VariableGEPIndex struct instead of
using a pair. This tidies up the code a bit. While setting things up, add
a (currently unused) field to keep track of how the value is extended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111444
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Aug 2010 22:44:49 +0000 (22:44 +0000)]
Enable ARM base register reuse to local stack slot allocation. Whenever a new
frame index reference to an object in the local block is seen, check if
it's near enough to any previously allocaated base register to re-use.
rdar://
8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111443
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 22:35:56 +0000 (22:35 +0000)]
Add a testcase to verify that commands don't crash when they hit
errors on stderr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111440
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 22:26:19 +0000 (22:26 +0000)]
Make raw_fd_ostream consider itself the owner of STDOUT_FILENO when
constructed with an output filename of "-". In particular, allow the
file descriptor to be closed, and close the file descriptor in the
destructor if it hasn't been explicitly closed already, to ensure
that any write errors are detected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111436
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 22:22:44 +0000 (22:22 +0000)]
When sending stats output to stdout for grepping, don't emit normal
output to standard output also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111435
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 22:07:29 +0000 (22:07 +0000)]
move gep decomposition out of ValueTracking into BasicAA. The form of
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
Now with less tree breakingness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111433
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 22:04:43 +0000 (22:04 +0000)]
Tidy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111432
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 18 Aug 2010 21:32:07 +0000 (21:32 +0000)]
Minor simplification. Gets rid of a needless temporary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111430
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Aug 2010 21:11:37 +0000 (21:11 +0000)]
Use ConstantRange to propagate information through value definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111425
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 20:32:46 +0000 (20:32 +0000)]
When sending stats output to stdout for grepping, don't emit normal
output to standard output also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111401
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 20:29:53 +0000 (20:29 +0000)]
Thinking about it, we don't need MachineDominatorTree after all. The DomValue
map discovers the iterated dominance frontier for free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111400
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 20:16:39 +0000 (20:16 +0000)]
Introduce a ScopedFatalErrorHandler class to make it easy to register
fatal error handlers which automatically get unregistered at the end
of a scope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111398
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 20:06:05 +0000 (20:06 +0000)]
Revert r111394. It was too aggressive.
We must complete the DFS, otherwise we might miss needed phi-defs, and
prematurely color live ranges with a non-dominating value.
This is not a big deal since we get to color more of the CFG and the next
mapValue call will be faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111397
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 19:00:11 +0000 (19:00 +0000)]
Aggressively prune the DFS when inserting phi-defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111394
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 19:00:08 +0000 (19:00 +0000)]
Add the LiveIntervalMap class. Don't hook it up yet.
LiveIntervalMap maps values from a parent LiveInterval to a child interval that
is a strict subset. It will create phi-def values as needed to preserve the
VNInfo SSA form in the child interval.
This leads to an algorithm very similar to the one in SSAUpdaterImpl.h, but with
enough differences that the code can't be reused:
- We don't need to manipulate PHI instructions.
- LiveIntervals have kills.
- We have MachineDominatorTree.
- We can use df_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111393
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 19:00:05 +0000 (19:00 +0000)]
Add df_iterator::getPathLength and getPath as a way of getting a path from the
entry node to the current node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111392
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Aug 2010 18:43:08 +0000 (18:43 +0000)]
Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. The
form of", it doesn't pass tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111385
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 18 Aug 2010 18:41:13 +0000 (18:41 +0000)]
Improve whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111384
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 18 Aug 2010 18:40:57 +0000 (18:40 +0000)]
Marked with ATTRIBUTE_USED so that clang doesn't complain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111383
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Aug 2010 18:39:01 +0000 (18:39 +0000)]
Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 18 Aug 2010 18:22:37 +0000 (18:22 +0000)]
MC/ELF: Allow null values in virtual sections, ELF doesn't use special
directives for putting contents in .bss, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 18:22:17 +0000 (18:22 +0000)]
move gep decomposition out of ValueTracking into BasicAA. The form of
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111375
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Aug 2010 17:57:37 +0000 (17:57 +0000)]
Add hook for re-using virtual base registers for local stack slot access.
Nothing fancy, just ask the target if any currently available base reg
is in range for the instruction under consideration and use the first one
that is. Placeholder ARM implementation simply returns false for now.
ongoing saga of rdar://
8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111374
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:55:15 +0000 (17:55 +0000)]
Eliminate some redundancy by relying on raw_fd_ostream to handle "-"
properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111373
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:42:59 +0000 (17:42 +0000)]
Allow the -analyze option to follow the -o option, which defaults to
standard output, instead of just hardcoding outs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111372
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:40:10 +0000 (17:40 +0000)]
Don't translate "-" to outs() manually; raw_ostream does that automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111371
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:26:50 +0000 (17:26 +0000)]
Don't translate "-" to outs() manually; raw_ostream does that
automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111370
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:21:42 +0000 (17:21 +0000)]
Don't register stdout to be deleted on a signal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111368
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 17:20:51 +0000 (17:20 +0000)]
Remove an unused command-line option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111367
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Aug 2010 16:09:47 +0000 (16:09 +0000)]
Preserve subregs on PHI source operands. Patch by Krister Wombell!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111366
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Wed, 18 Aug 2010 10:20:29 +0000 (10:20 +0000)]
Fix a bug with insertelement on SPU.
The previous algorithm in LowerVECTOR_SHUFFLE
didn't check all requirements for "monotonic" shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111361
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Wed, 18 Aug 2010 10:04:39 +0000 (10:04 +0000)]
Remove all traces of v2[i,f]32 on SPU.
The "half vectors" are now widened to full size by the legalizer.
The only exception is in parameter passing, where half vectors are
expanded. This causes changes to some dejagnu tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111360
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Wed, 18 Aug 2010 09:50:30 +0000 (09:50 +0000)]
Change SPU C calling convention to match that described in
"SPU Application Binary Interface Specification, v1.9" by
IBM.
Specifically: use r3-r74 to pass parameters and the return value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 04:55:12 +0000 (04:55 +0000)]
fix a buggy test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 04:28:19 +0000 (04:28 +0000)]
fix PR7589: In brief:
gep P, (zext x) != gep P, (sext x)
DecomposeGEPExpression was getting this wrong, confusing
basicaa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 04:25:43 +0000 (04:25 +0000)]
filecheckize and detrivialize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 03:14:36 +0000 (03:14 +0000)]
Fix PR7755: knowing something about an inval for a pred
from the LHS should disable reconsidering that pred on the
RHS. However, knowing something about the pred on the RHS
shouldn't disable subsequent additions on the RHS from
happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 03:13:35 +0000 (03:13 +0000)]
fit in 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 02:42:11 +0000 (02:42 +0000)]
remove some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 02:41:56 +0000 (02:41 +0000)]
remove some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 02:40:44 +0000 (02:40 +0000)]
remove some code that is dead now that lea's are modeled with segment registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 02:37:06 +0000 (02:37 +0000)]
remove dead prototype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111342
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 18 Aug 2010 01:45:52 +0000 (01:45 +0000)]
Expand ZERO_EXTEND operations for NEON vector types.
Testcase from Nick Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111341
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 01:35:53 +0000 (01:35 +0000)]
Fix the "Finished Creating" messages for aliases to print the
right name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111340
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Aug 2010 01:34:52 +0000 (01:34 +0000)]
Revert r111321. This doesn't fix a problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 00:33:47 +0000 (00:33 +0000)]
stomp some more undefined behavior, PR7775.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 00:29:18 +0000 (00:29 +0000)]
don't emit zero bit fields with Emit, fixing undefined behavior,
PR7778
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Aug 2010 00:11:25 +0000 (00:11 +0000)]
Don't pass in a null pointer to std::string's ctor, an empty string
ref should produce an empty std::string. This fixes PR7879.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111332
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 23:26:04 +0000 (23:26 +0000)]
fix a broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 23:22:10 +0000 (23:22 +0000)]
include config.h to get config params, hopefully unbreaking mingw builder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 23:11:56 +0000 (23:11 +0000)]
Fix the rest of rdar://
8318441 which happens when a raw_fd_ostream
(e.g. errs()) fails in close() due to (e.g.) a broken pipe. As
previously written, the had_error() flag would get set and then
the raw_ostream dtor would report a fatal error. There is nothing
the client can do about this and we have no way to report the error,
so just eat it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 23:03:53 +0000 (23:03 +0000)]
report_fatal_error can't use errs(), because errs() can call
into report_fatal_error. Just blast the string to stderr with write(2)
and hope for the best! Part of rdar://
8318441
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111320
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 17 Aug 2010 22:55:27 +0000 (22:55 +0000)]
Temporarily revert r110987 as it's causing some miscompares in
vector heavy code. I'll re-enable when we've tracked down the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111318
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 17 Aug 2010 22:50:37 +0000 (22:50 +0000)]
Tweak IVUsers' concept of "interesting" to exclude add recurrences
where the step value is an induction variable from an outer loop, to
avoid trouble trying to re-expand such expressions. This effectively
hides such expressions from indvars and lsr, which prevents them
from getting into trouble.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111317
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Aug 2010 22:41:55 +0000 (22:41 +0000)]
Add materialization of virtual base registers for frame indices allocated into
the local block. Resolve references to those indices to a new base register.
For simplification and testing purposes, a new virtual base register is
allocated for each frame index being resolved. The result is truly horrible,
but correct, code that's good for exercising the new code paths.
Next up is adding thumb1 support, which should be very simple. Following that
will be adding base register re-use and implementing a reasonable ARM
heuristic for when a virtual base register should be generated at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111315
91177308-0d34-0410-b5e6-
96231b3b80d8