oota-llvm.git
14 years agoFix CMake build
Michael J. Spencer [Tue, 3 Aug 2010 02:38:20 +0000 (02:38 +0000)]
Fix CMake build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110097 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSupport x86 AVX 256-bit instruction intrinsics. Right now support all of them, but
Bruno Cardoso Lopes [Tue, 3 Aug 2010 01:53:41 +0000 (01:53 +0000)]
Support x86 AVX 256-bit instruction intrinsics. Right now support all of them, but
as soon as we properly codegen the simple vector operations in clang, remove the
unnecessary builti-ins/intrinsics from clang and llvm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110094 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate some comments.
Dan Gohman [Tue, 3 Aug 2010 01:07:32 +0000 (01:07 +0000)]
Update some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110092 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIntroduce a symbolic constant for ~0u for use with AliasAnalysis.
Dan Gohman [Tue, 3 Aug 2010 01:03:11 +0000 (01:03 +0000)]
Introduce a symbolic constant for ~0u for use with AliasAnalysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110091 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a convenient form of AliasAnalysis::alias for the case where the sizes
Dan Gohman [Tue, 3 Aug 2010 00:56:30 +0000 (00:56 +0000)]
Add a convenient form of AliasAnalysis::alias for the case where the sizes
are unknown.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110090 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake SCEVUnknown a CallbackVH, so that it can be notified directly
Dan Gohman [Mon, 2 Aug 2010 23:49:30 +0000 (23:49 +0000)]
Make SCEVUnknown a CallbackVH, so that it can be notified directly
of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.

This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110086 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDiabolical hack to make a test compatible with clang. (Thanks to Dale!) Radar 8246180.
Stuart Hastings [Mon, 2 Aug 2010 23:29:03 +0000 (23:29 +0000)]
Diabolical hack to make a test compatible with clang.  (Thanks to Dale!)  Radar 8246180.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110081 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSketch up a preliminary Type-Based Alias Analysis implementation.
Dan Gohman [Mon, 2 Aug 2010 23:11:01 +0000 (23:11 +0000)]
Sketch up a preliminary Type-Based Alias Analysis implementation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix visitInvokeInst to call visitTerminatorInst, and remove
Dan Gohman [Mon, 2 Aug 2010 23:09:14 +0000 (23:09 +0000)]
Fix visitInvokeInst to call visitTerminatorInst, and remove
a redundant check from checkInstruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110076 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd Verifier logic for indirectbr.
Dan Gohman [Mon, 2 Aug 2010 23:08:33 +0000 (23:08 +0000)]
Add Verifier logic for indirectbr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110075 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a lint check for indirectbr with no successors.
Dan Gohman [Mon, 2 Aug 2010 23:06:43 +0000 (23:06 +0000)]
Add a lint check for indirectbr with no successors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110074 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd explicit constructors. Patch by Renato Golin.
Devang Patel [Mon, 2 Aug 2010 22:51:46 +0000 (22:51 +0000)]
Add explicit constructors. Patch by Renato Golin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110072 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTestcase for r110043. Radar 8246180.
Stuart Hastings [Mon, 2 Aug 2010 22:09:53 +0000 (22:09 +0000)]
Testcase for r110043.  Radar 8246180.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110070 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEarly exit and reduce indentation. No functionality change.
Bill Wendling [Mon, 2 Aug 2010 22:06:08 +0000 (22:06 +0000)]
Early exit and reduce indentation. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110069 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImprove discrimination of unknown libraries from ignored targets on
Oscar Fuentes [Mon, 2 Aug 2010 21:24:12 +0000 (21:24 +0000)]
Improve discrimination of unknown libraries from ignored targets on
LLVMConfig.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110065 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoexplicit_map_components_to_libraries now does not complain when there
Oscar Fuentes [Mon, 2 Aug 2010 20:48:01 +0000 (20:48 +0000)]
explicit_map_components_to_libraries now does not complain when there
is a dependence on an LLVM target that is not included on the build.

When LLVM_TARGETS_TO_BUILD didn't include all the targets, the
function emitted an error like

"Library LLVMArmParser not found in list of llvm libraries."

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110060 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLets the CMake GUI show a list of possible values for LLVM_USE_CRT
Oscar Fuentes [Mon, 2 Aug 2010 19:00:34 +0000 (19:00 +0000)]
Lets the CMake GUI show a list of possible values for LLVM_USE_CRT

Patch by nobled!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110057 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix namespace polution.
Dan Gohman [Mon, 2 Aug 2010 18:50:06 +0000 (18:50 +0000)]
Fix namespace polution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110056 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdated LLVMLibDeps.cmake.
Oscar Fuentes [Mon, 2 Aug 2010 18:36:53 +0000 (18:36 +0000)]
Updated LLVMLibDeps.cmake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110055 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFree DbgScope created for dead functions.
Devang Patel [Mon, 2 Aug 2010 17:32:15 +0000 (17:32 +0000)]
Free DbgScope created for dead functions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110045 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore SPU v2f32 stuff added: insertelement and shuffle.
Kalle Raiskila [Mon, 2 Aug 2010 11:22:10 +0000 (11:22 +0000)]
More SPU v2f32 stuff added: insertelement and shuffle.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110038 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd preliminary v2f32 support for SPU. Like with v2i32, we just
Kalle Raiskila [Mon, 2 Aug 2010 10:25:47 +0000 (10:25 +0000)]
Add preliminary v2f32 support for SPU. Like with v2i32, we just
duplicate the instructions and operate on half vectors.

Also reorder code in SPUInstrInfo.td for better coherency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110037 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRe-apply the infamous r108614, with a fix pointed out by Dirk Steinke.
Owen Anderson [Mon, 2 Aug 2010 09:32:13 +0000 (09:32 +0000)]
Re-apply the infamous r108614, with a fix pointed out by Dirk Steinke.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110036 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd preliminary v2i32 support for SPU backend. As there are no
Kalle Raiskila [Mon, 2 Aug 2010 08:54:39 +0000 (08:54 +0000)]
Add preliminary v2i32 support for SPU backend. As there are no
such registers in SPU, this support boils down to "emulating"
them by duplicating instructions on the general purpose registers.

This adds the most basic operations on v2i32: passing parameters,
addition, subtraction, multiplication and a few others.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110035 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrefix `next' iterator operation with `llvm::'.
Oscar Fuentes [Mon, 2 Aug 2010 06:00:15 +0000 (06:00 +0000)]
Prefix `next' iterator operation with `llvm::'.

Fixes potential ambiguity problems on VS 2010.

Patch by nobled!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110029 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a -Wreorder warning.
Daniel Dunbar [Mon, 2 Aug 2010 05:43:46 +0000 (05:43 +0000)]
Fix a -Wreorder warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110022 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWork in progress.
Nick Lewycky [Mon, 2 Aug 2010 05:23:03 +0000 (05:23 +0000)]
Work in progress.
Start cleaning up MergeFunctions to look more like the rest of LLVM. The
primary change here is to move the methods responsible for comparison into the
new FunctionComparator object. Some comments added. There's more to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110021 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPR7586: Make sure we don't claim that unknown bits are actually known in the
Eli Friedman [Mon, 2 Aug 2010 04:42:25 +0000 (04:42 +0000)]
PR7586: Make sure we don't claim that unknown bits are actually known in the
ISD::AND case of TargetLowering::SimplifyDemandedBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110019 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix this condition; it has an else clause attached for Darwin only. Patch
Nick Lewycky [Mon, 2 Aug 2010 03:16:19 +0000 (03:16 +0000)]
Fix this condition; it has an else clause attached for Darwin only. Patch
by Takumi Nakamura.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110016 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix comment.
Daniel Dunbar [Mon, 2 Aug 2010 01:25:20 +0000 (01:25 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110006 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodocs/TestingGuide: Minimal update to describe 'lit' based regression testing
Daniel Dunbar [Mon, 2 Aug 2010 01:20:23 +0000 (01:20 +0000)]
docs/TestingGuide: Minimal update to describe 'lit' based regression testing
instead of DejaGNU. Still a bit kooky, since the current test format still has
some strong Tcl roots. Oh well!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110005 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodocs/TestingGuide: Rip out description of old nightly tester infrastructure. The
Daniel Dunbar [Mon, 2 Aug 2010 01:20:20 +0000 (01:20 +0000)]
docs/TestingGuide: Rip out description of old nightly tester infrastructure. The
official recommendation is to use LNT instead. I will write docs on setting up
an LNT installation for submission to llvm.org, one day.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110004 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotests: Kill off custom targets which were just there for TestRunner.sh.
Daniel Dunbar [Mon, 2 Aug 2010 00:52:44 +0000 (00:52 +0000)]
tests: Kill off custom targets which were just there for TestRunner.sh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110003 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotests: Deprecate TestRunner.sh, and have it just invoke 'llvm-lit' (which will
Daniel Dunbar [Mon, 2 Aug 2010 00:52:41 +0000 (00:52 +0000)]
tests: Deprecate TestRunner.sh, and have it just invoke 'llvm-lit' (which will
need to be in your path). Please move to using 'llvm-lit' if you are still using
TestRunner.sh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110002 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agobuild: Fix a dependency.
Daniel Dunbar [Mon, 2 Aug 2010 00:45:41 +0000 (00:45 +0000)]
build: Fix a dependency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110001 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotests: Add an 'llvm-lit' tool (script), which gets generated as part of the
Daniel Dunbar [Mon, 2 Aug 2010 00:39:42 +0000 (00:39 +0000)]
tests: Add an 'llvm-lit' tool (script), which gets generated as part of the
build and has the object build directory baked into it. This allows 'llvm-lit'
to properly find the information needed to run the test suite in all cases,
without requiring the user to have LLVM or 'lit' available in their PATH, for
example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110000 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agolit: Allow clients to define predefined parameters.
Daniel Dunbar [Mon, 2 Aug 2010 00:39:38 +0000 (00:39 +0000)]
lit: Allow clients to define predefined parameters.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109999 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR.
Eli Friedman [Mon, 2 Aug 2010 00:18:19 +0000 (00:18 +0000)]
PR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109998 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotests: Make 'lit' the default test tool. You can still use 'make check-dg' to
Daniel Dunbar [Mon, 2 Aug 2010 00:05:18 +0000 (00:05 +0000)]
tests: Make 'lit' the default test tool. You can still use 'make check-dg' to
run the tests using DejaGNU, but not for much longer. This is a last call for
DejaGNU supporters, if no one complains soon the DejaGNU support is going to
die.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109997 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTargets: Add InitializeNativeTargetAsmPrinter(), patch by Jan Sjodin, although
Daniel Dunbar [Sun, 1 Aug 2010 23:36:18 +0000 (23:36 +0000)]
Targets: Add InitializeNativeTargetAsmPrinter(), patch by Jan Sjodin, although
rewritten by me to not require updating all the target initialization routine
names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109996 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix word choice.
Nick Lewycky [Sun, 1 Aug 2010 23:18:45 +0000 (23:18 +0000)]
Fix word choice.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109995 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPR7774: Fix undefined shifts in Alpha backend. As a bonus, this actually
Eli Friedman [Sun, 1 Aug 2010 21:13:28 +0000 (21:13 +0000)]
PR7774: Fix undefined shifts in Alpha backend.  As a bonus, this actually
improves the generated code in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109985 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPreallocate vector, avoid unnecessary vector growth.
Benjamin Kramer [Sun, 1 Aug 2010 11:43:26 +0000 (11:43 +0000)]
Preallocate vector, avoid unnecessary vector growth.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109971 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReference the personalities. Don't copy them into a new vector.
Bill Wendling [Sun, 1 Aug 2010 01:34:21 +0000 (01:34 +0000)]
Reference the personalities. Don't copy them into a new vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109966 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert new AVX intrinsic tests. They are breaking buildbots and Bruno is
Bob Wilson [Sat, 31 Jul 2010 22:36:03 +0000 (22:36 +0000)]
Revert new AVX intrinsic tests.  They are breaking buildbots and Bruno is
away from a computer now.
--- Reverse-merging r109881 into '.':
D    test/CodeGen/X86/avx-intrinsics-x86.ll
D    test/CodeGen/X86/avx-intrinsics-x86_64.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109959 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agobuild: Don't pass -avoid-version or -no-undefined on Darwin, they don't do
Daniel Dunbar [Sat, 31 Jul 2010 21:32:56 +0000 (21:32 +0000)]
build: Don't pass -avoid-version or -no-undefined on Darwin, they don't do
anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109957 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSilence some -Asserts uninitialized variable warnings.
Daniel Dunbar [Sat, 31 Jul 2010 21:08:54 +0000 (21:08 +0000)]
Silence some -Asserts uninitialized variable warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109956 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollc: Add -mc-relax-all.
Michael J. Spencer [Sat, 31 Jul 2010 19:57:02 +0000 (19:57 +0000)]
llc: Add -mc-relax-all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109954 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpeculatively revert r108614, "Another attempt at getting the clang self-host to
Daniel Dunbar [Sat, 31 Jul 2010 19:51:11 +0000 (19:51 +0000)]
Speculatively revert r108614, "Another attempt at getting the clang self-host to
like my instcombine patch.", in an attempt to fix Clang i386 bootstrap.
 - Also PR7719.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109953 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd const to some methods and change TestMergedProgram to return the merged
Rafael Espindola [Sat, 31 Jul 2010 14:34:49 +0000 (14:34 +0000)]
Add const to some methods and change TestMergedProgram to return the merged
module and take a const BugDriver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109951 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodoxygenize argument accessors
Gabor Greif [Sat, 31 Jul 2010 08:35:21 +0000 (08:35 +0000)]
doxygenize argument accessors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109950 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Remove HasAbsolutizedSet from WindowsX86AsmBackend.
Michael J. Spencer [Sat, 31 Jul 2010 07:21:44 +0000 (07:21 +0000)]
MC: Remove HasAbsolutizedSet from WindowsX86AsmBackend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109949 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove newlines before inline jumptables from the asm strings in .td files to
Bob Wilson [Sat, 31 Jul 2010 06:28:10 +0000 (06:28 +0000)]
Move newlines before inline jumptables from the asm strings in .td files to
the jtblock_operand print methods.  This avoids extra newlines in the
disassembler's output.  PR7757.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109948 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd relax all support to the COFF object streamer.
Michael J. Spencer [Sat, 31 Jul 2010 06:22:29 +0000 (06:22 +0000)]
Add relax all support to the COFF object streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109947 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd support for disassembling VMVN (immediate) instructions. PR7747.
Bob Wilson [Sat, 31 Jul 2010 05:57:44 +0000 (05:57 +0000)]
Add support for disassembling VMVN (immediate) instructions.  PR7747.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109946 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThe BlockExtractorPass() constructor was not reading the BlockFile and that was
Rafael Espindola [Sat, 31 Jul 2010 00:32:17 +0000 (00:32 +0000)]
The BlockExtractorPass() constructor was not reading the BlockFile and that was
exactly what bugpoint expected it to do.

There was also only one user of
BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and
make BlockExtractorPass read BlockFile.

This fixes bugpoint's block extraction.

Nick, please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109936 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an initial implementation of PHI translation for LazyValueInfo. This involves...
Owen Anderson [Fri, 30 Jul 2010 23:59:40 +0000 (23:59 +0000)]
Add an initial implementation of PHI translation for LazyValueInfo.  This involves rolling back some
of my earlier data structure improvements until I can ensure that there are no iterator invalidation problems.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109935 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd -disable-shifter-op to disable isel of shifter ops. On Cortex-a9 the shifts cost...
Evan Cheng [Fri, 30 Jul 2010 23:33:54 +0000 (23:33 +0000)]
Add -disable-shifter-op to disable isel of shifter ops. On Cortex-a9 the shifts cost extra instructions so it might be better to emit them separately to take advantage of dual-issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109934 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a check in the ARM disassembler for NEON instructions that would
Bob Wilson [Fri, 30 Jul 2010 23:27:59 +0000 (23:27 +0000)]
Add a check in the ARM disassembler for NEON instructions that would
reference registers past the end of the NEON register file, and report them
as invalid instead of asserting when trying to print them.  PR7746.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109933 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a "Compare" flag to the target instruction descriptor. This will be used
Bill Wendling [Fri, 30 Jul 2010 22:48:39 +0000 (22:48 +0000)]
Add a "Compare" flag to the target instruction descriptor. This will be used
later to identify and possibly remove superfluous compare instructions -- those
that are testing for and setting a status flag that should already be set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109901 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPPC doesn't supported VLA with large alignment. This was
Dale Johannesen [Fri, 30 Jul 2010 21:09:48 +0000 (21:09 +0000)]
PPC doesn't supported VLA with large alignment.  This was
formerly rejected by the FE, so asserted in the BE; now the FE only
warns, so we treat it as a legitimate fatal error in PPC BE.
This means the test for the feature won't pass, so it's xfail'd.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109892 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove MaximumAlignment to be a member of the Value class.
Dan Gohman [Fri, 30 Jul 2010 21:07:05 +0000 (21:07 +0000)]
Move MaximumAlignment to be a member of the Value class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109891 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert my last two patches to LVI, which recent changes have exposed a miscompilation in.
Owen Anderson [Fri, 30 Jul 2010 20:56:07 +0000 (20:56 +0000)]
Revert my last two patches to LVI, which recent changes have exposed a miscompilation in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109889 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missing newline to debug statement.
Nick Lewycky [Fri, 30 Jul 2010 20:27:01 +0000 (20:27 +0000)]
Add missing newline to debug statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109886 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLibCallAliasAnalysis uses multiple inheritance, so it needs to implement
Nick Lewycky [Fri, 30 Jul 2010 20:19:09 +0000 (20:19 +0000)]
LibCallAliasAnalysis uses multiple inheritance, so it needs to implement
getAdjustedAnalysisPointer. Part of a fix to PR7760.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109883 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoA *bunch* of tests for AVX intrinsics
Bruno Cardoso Lopes [Fri, 30 Jul 2010 19:57:56 +0000 (19:57 +0000)]
A *bunch* of tests for AVX intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109881 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd the __TEXT,__StaticInit section to the list of sections emitted at the
Bob Wilson [Fri, 30 Jul 2010 19:55:47 +0000 (19:55 +0000)]
Add the __TEXT,__StaticInit section to the list of sections emitted at the
beginning on ARM Darwin assembly files so that it won't be placed after
debug sections.  Radar 8252813.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109879 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSupport all 128-bit AVX vector intrinsics. Most part of them I already
Bruno Cardoso Lopes [Fri, 30 Jul 2010 19:54:33 +0000 (19:54 +0000)]
Support all 128-bit AVX vector intrinsics. Most part of them I already
declared during the addition of the assembler support, the additional
changes are:
- Add missing intrinsics
- Move all SSE conversion instructions in X86InstInfo64.td to the SSE.td file.
- Duplicate some patterns to AVX mode.
- Step into PCMPEST/PCMPIST custom inserter and add AVX versions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109878 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix typo!
Bruno Cardoso Lopes [Fri, 30 Jul 2010 19:41:24 +0000 (19:41 +0000)]
Fix typo!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109877 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAttempt to fix the llvm-gcc-powerpc-darwin9 buildbot.
Bob Wilson [Fri, 30 Jul 2010 18:52:47 +0000 (18:52 +0000)]
Attempt to fix the llvm-gcc-powerpc-darwin9 buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109876 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Initialize MCFragment::Offset, noticed by Cameron Esfahani.
Daniel Dunbar [Fri, 30 Jul 2010 18:32:09 +0000 (18:32 +0000)]
MC: Initialize MCFragment::Offset, noticed by Cameron Esfahani.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109875 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix -Wmissing-field-initializers warnings.
Daniel Dunbar [Fri, 30 Jul 2010 17:49:04 +0000 (17:49 +0000)]
Fix -Wmissing-field-initializers warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109872 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGrammar cop pullover: Corrected and improved some grammar in the description of
John Criswell [Fri, 30 Jul 2010 16:30:28 +0000 (16:30 +0000)]
Grammar cop pullover: Corrected and improved some grammar in the description of
the llvm.memset() intrinsic family.
No content changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109863 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a Program argument to diffProgram to avoid a use of swapProgramIn.
Rafael Espindola [Fri, 30 Jul 2010 14:19:00 +0000 (14:19 +0000)]
Add a Program argument to diffProgram to avoid a use of swapProgramIn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109859 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTweak suppressions.
Benjamin Kramer [Fri, 30 Jul 2010 12:18:36 +0000 (12:18 +0000)]
Tweak suppressions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109858 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix for bug reported by Evzen Muller on llvm-commits: make sure to correctly
Eli Friedman [Fri, 30 Jul 2010 06:44:31 +0000 (06:44 +0000)]
Fix for bug reported by Evzen Muller on llvm-commits: make sure to correctly
check the range of the constant when optimizing a comparison between a
constant and a sign_extend_inreg node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109854 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo not pass a copy of the value map, pass a reference to it.
Duncan Sands [Fri, 30 Jul 2010 05:50:45 +0000 (05:50 +0000)]
Do not pass a copy of the value map, pass a reference to it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109852 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the ValueMap copy constructor. The issue is that the map keys are value
Duncan Sands [Fri, 30 Jul 2010 05:49:32 +0000 (05:49 +0000)]
Fix the ValueMap copy constructor.  The issue is that the map keys are value
handles with a pointer to the containing map.  When a map is copied, these
pointers need to be corrected to point to the new map.  If not, then consider
the case of a map M1 which maps a value V to something.  Create a copy M2 of
M1.  At this point there are two value handles on V, one representing V as a
key in M1, the other representing V as a key in M2.  But both value handles
point to M1 as the containing map.  Now delete V.  The value handles remove
themselves from their containing map (which destroys them), but only the first
value handle is successful: the second one cannot remove itself from M1 as
(once the first one has removed itself) there is nothing there to remove; it
is therefore not destroyed.  This causes an assertion failure "All references
to V were not removed?".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109851 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMany Thumb2 instructions can reference the full ARM register set (i.e.,
Jim Grosbach [Fri, 30 Jul 2010 02:41:01 +0000 (02:41 +0000)]
Many Thumb2 instructions can reference the full ARM register set (i.e.,
have 4 bits per register in the operand encoding), but have undefined
behavior when the operand value is 13 or 15 (SP and PC, respectively).
The trivial coalescer in linear scan sometimes will merge a copy from
SP into a subsequent instruction which uses the copy, and if that
instruction cannot legally reference SP, we get bad code such as:
  mls r0,r9,r0,sp
instead of:
  mov r2, sp
  mls r0, r9, r0, r2

This patch adds a new register class for use by Thumb2 that excludes
the problematic registers (SP and PC) and is used instead of GPR
for those operands which cannot legally reference PC or SP. The
trivial coalescer explicitly requires that the register class
of the destination for the COPY instruction contain the source
register for the COPY to be considered for coalescing. This prevents
errant instructions like that above.

PR7499

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109842 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove a layer of cruft
Gabor Greif [Thu, 29 Jul 2010 23:35:00 +0000 (23:35 +0000)]
remove a layer of cruft

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109821 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix this up per llvm-gcc r109819.
Eric Christopher [Thu, 29 Jul 2010 23:20:29 +0000 (23:20 +0000)]
Fix this up per llvm-gcc r109819.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109820 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSupress valgrind errors from python.
Benjamin Kramer [Thu, 29 Jul 2010 23:15:04 +0000 (23:15 +0000)]
Supress valgrind errors from python.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109818 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove the temporary hack, now that the llvm-i686-linux buildbot has
Bob Wilson [Thu, 29 Jul 2010 22:55:29 +0000 (22:55 +0000)]
Remove the temporary hack, now that the llvm-i686-linux buildbot has
completed a successful build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109815 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd builtins for ssat/usat, similar to RealView's __ssat and __usat intrinsics.
Nate Begeman [Thu, 29 Jul 2010 22:48:09 +0000 (22:48 +0000)]
Add builtins for ssat/usat, similar to RealView's __ssat and __usat intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109813 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the temporary hack.
Bob Wilson [Thu, 29 Jul 2010 22:33:35 +0000 (22:33 +0000)]
Fix the temporary hack.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109810 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTemporary hack to ensure stale Analysis dir is cleaned up on llvm-i686-linux.
Daniel Dunbar [Thu, 29 Jul 2010 22:18:50 +0000 (22:18 +0000)]
Temporary hack to ensure stale Analysis dir is cleaned up on llvm-i686-linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109809 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove XFAIL, test doesn't leak anymore.
Benjamin Kramer [Thu, 29 Jul 2010 20:36:36 +0000 (20:36 +0000)]
Remove XFAIL, test doesn't leak anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109801 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRefactor ARM-specific DAG combining in preparation for adding some more
Bob Wilson [Thu, 29 Jul 2010 20:34:14 +0000 (20:34 +0000)]
Refactor ARM-specific DAG combining in preparation for adding some more
transformations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109800 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement vector constants which are splat of
Dale Johannesen [Thu, 29 Jul 2010 20:10:08 +0000 (20:10 +0000)]
Implement vector constants which are splat of
integers with mov + vdup.  8003375.  This is
currently disabled by default because LICM will
not hoist a VDUP, so it pessimizes the code if
the construct occurs inside a loop (8248029).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109799 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't assert on an unrecognized BrMiscFrm instruction.
Bob Wilson [Thu, 29 Jul 2010 18:29:28 +0000 (18:29 +0000)]
Don't assert on an unrecognized BrMiscFrm instruction.
PR7745.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109788 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTranscribe IRC to svn. Also don't print basic block names twice if they match.
John McCall [Thu, 29 Jul 2010 18:20:13 +0000 (18:20 +0000)]
Transcribe IRC to svn.  Also don't print basic block names twice if they match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109787 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGrammar.
Eric Christopher [Thu, 29 Jul 2010 18:11:28 +0000 (18:11 +0000)]
Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109775 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake the header self-contained and follow #include guidelines.
John McCall [Thu, 29 Jul 2010 18:08:23 +0000 (18:08 +0000)]
Make the header self-contained and follow #include guidelines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109774 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnull
Eli Friedman [Thu, 29 Jul 2010 18:03:33 +0000 (18:03 +0000)]
PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnull
if CExpr is a ConstantInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109773 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake un-named values legible in certain vim configurations.
Owen Anderson [Thu, 29 Jul 2010 17:57:57 +0000 (17:57 +0000)]
Make un-named values legible in certain vim configurations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109772 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD...
Nate Begeman [Thu, 29 Jul 2010 17:56:55 +0000 (17:56 +0000)]
Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to the QADD & QSUB instructions.
Behave identically to __qadd & __qsub RealView instruction intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109770 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSwitch to using the LLVM CommandLine library so that our help
John McCall [Thu, 29 Jul 2010 17:55:00 +0000 (17:55 +0000)]
Switch to using the LLVM CommandLine library so that our help
message is properly contaminated with nonsense about timing passes
that doesn't apply at all to this utility. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109769 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPlug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of...
Benjamin Kramer [Thu, 29 Jul 2010 17:48:06 +0000 (17:48 +0000)]
Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109767 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoComment typo.
Dale Johannesen [Thu, 29 Jul 2010 17:45:24 +0000 (17:45 +0000)]
Comment typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109765 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r109652, and remove the offending assert in loadRegFromStackSlot instead.
Jakob Stoklund Olesen [Thu, 29 Jul 2010 17:42:27 +0000 (17:42 +0000)]
Revert r109652, and remove the offending assert in loadRegFromStackSlot instead.

We do sometimes load from a too small stack slot when dealing with x86 arguments
(varargs and smaller-than-32-bit args). It looks like we know what we are doing
in those cases, so I am going to remove the assert instead of artifically
enlarging stack slot sizes.

The assert in storeRegToStackSlot stays in. We don't want to write beyond the
bounds of a stack slot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109764 91177308-0d34-0410-b5e6-96231b3b80d8