Eric Christopher
f762fbe4fa
Fix loop conditionals (MO.isDef() asserts that it's a reg) and
...
move some constraints around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111594 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-20 00:36:24 +00:00
Eric Christopher
cb59229a4a
Add a couple of random comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111592 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-20 00:20:31 +00:00
Bob Wilson
63241f79e6
If the target says that an extending load is not legal, regardless of whether
...
it involves specific floating-point types, legalize should expand an
extending load to a non-extending load followed by a separate extend operation.
For example, we currently expand SEXTLOAD to EXTLOAD+SIGN_EXTEND_INREG (and
assert that EXTLOAD should always be supported). Now we can expand that to
LOAD+SIGN_EXTEND. This is needed to allow vector SIGN_EXTEND and ZERO_EXTEND
to be used for NEON.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111586 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:52:39 +00:00
Jim Grosbach
e2f556933e
Better handling of offsets on frame index references. rdar://8277890
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111585 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:52:25 +00:00
Daniel Dunbar
b08ceb8135
CrashRecovery/Darwin: On Darwin, raise sends a signal to the main thread instead
...
of the current thread. This has the unfortunate effect that assert() and abort()
will end up bypassing our crash recovery attempts. We work around this for
anything in the same linkage unit by just defining our own versions of the
assert handler and abort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111583 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:45:39 +00:00
Owen Anderson
7c73b8b180
Previous revert failed to remove this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111582 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:45:15 +00:00
Bob Wilson
79976e9ff1
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
2010-08-19 23:39:00 +00:00
Evan Cheng
f942c13af8
Update debug logs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111575 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:33:02 +00:00
Evan Cheng
19708923be
Properly update MachineDominators when splitting critical edge.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111574 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:32:47 +00:00
Owen Anderson
45c3b65eb7
Revert r111568 to unbreak clang self-host.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 23:25:16 +00:00
Owen Anderson
9419cab4c3
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
2010-08-19 22:15:40 +00:00
Mikhail Glushenkov
b57326c8aa
llvmc: Update examples.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111553 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 20:04:19 +00:00
Mikhail Glushenkov
8f2766df7f
Trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111552 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 20:03:53 +00:00
Owen Anderson
684d8d5b50
Disable LVI while I evaluate a failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111551 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 19:47:08 +00:00
Owen Anderson
f2d197b77a
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
2010-08-19 19:04:40 +00:00
Bill Wendling
5567bb0c5f
Correct header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111540 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 18:52:17 +00:00
Bill Wendling
d400850101
Silence 'unused' warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111539 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 18:52:02 +00:00
Evan Cheng
e5e7946018
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
2010-08-19 18:33:29 +00:00
Michael J. Spencer
6715be20e2
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
2010-08-19 18:16:39 +00:00
Dale Johannesen
b1508d1889
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
2010-08-19 17:58:35 +00:00
Jim Grosbach
74d7b0af58
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
2010-08-19 17:52:13 +00:00
Evan Cheng
c546c75459
Remove disabled assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111531 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 17:33:48 +00:00
Evan Cheng
4dc301a7c5
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
2010-08-19 17:33:11 +00:00
Daniel Dunbar
a7031d3248
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
2010-08-19 17:21:21 +00:00
Daniel Dunbar
6f0c0b364b
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
2010-08-19 17:21:17 +00:00
Eric Christopher
638ff6d315
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
2010-08-19 17:21:10 +00:00
Daniel Dunbar
2e5ec111b9
tests: Haste makes waste.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 16:47:54 +00:00
Daniel Dunbar
62b4d71d7f
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
2010-08-19 16:46:52 +00:00
Eric Christopher
979e0a1414
Silence warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111518 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 15:35:27 +00:00
Benjamin Kramer
44cbde85ba
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
2010-08-19 13:44:49 +00:00
Kenneth Uildriks
6e97e1d4be
Fixed and reactivated a partial specialization test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111516 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 12:42:38 +00:00
Eli Friedman
a8fa392691
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
2010-08-19 06:11:05 +00:00
Jim Grosbach
a0fc005321
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
2010-08-19 02:47:08 +00:00
Dan Gohman
8a757aeac4
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
2010-08-19 01:29:07 +00:00
Eric Christopher
e81043a7df
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
2010-08-19 01:25:50 +00:00
Chris Lattner
59f8a6a666
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
2010-08-19 01:18:43 +00:00
Dan Gohman
694a15eabe
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
2010-08-19 01:02:31 +00:00
Chris Lattner
efbdc8e236
minor progress towards fixing PR7465
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111494 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 01:00:34 +00:00
Eric Christopher
456144eb14
Add an AddOptionalDefs method and use it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111489 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 00:37:05 +00:00
Daniel Dunbar
1ca8559de5
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
2010-08-19 00:22:45 +00:00
Sean Hunt
5c5f46697d
Add include missing for VC build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111484 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 00:19:03 +00:00
Dale Johannesen
a69c4939d9
Testcase for llvm-gcc checkin 111482.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111483 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 00:09:07 +00:00
Bill Wendling
f0e132c385
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
2010-08-19 00:05:48 +00:00
Sean Hunt
5b38500197
Remove three spurious semicolons
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111480 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-19 00:03:05 +00:00
Jakob Stoklund Olesen
7552a3df39
Don't call Predicate_* in Mips.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111468 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 23:56:46 +00:00
Eric Christopher
d96b02b3d6
Remove extra header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111456 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 23:38:16 +00:00
Sean Hunt
726a3d284e
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
2010-08-18 23:23:09 +00:00
Jim Grosbach
cd799ce8f8
Add a newline to debug output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-18 23:14:02 +00:00
Chris Lattner
2215c607c3
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
2010-08-18 23:09:49 +00:00
Evan Cheng
c3439ad63f
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
2010-08-18 23:09:25 +00:00