oota-llvm.git
12 years agoCorrects a problem where we reply exclusively of GEPs to drive
Preston Briggs [Wed, 21 Nov 2012 23:50:04 +0000 (23:50 +0000)]
Corrects a problem where we reply exclusively of GEPs to drive
analysis.  Better is to look for cases with useful GEPs and use them
when possible.  When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!

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

12 years agoMips direct object xgot support
Jack Carter [Wed, 21 Nov 2012 23:38:59 +0000 (23:38 +0000)]
Mips direct object xgot support

This patch provides support for the MIPS relocations:

    *)  R_MIPS_GOT_HI16
    *)  R_MIPS_GOT_LO16
    *)  R_MIPS_CALL_HI16
    *)  R_MIPS_CALL_LO16

These are used for large GOT instruction sequences.

Contributer: Jack Carter

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

12 years agoFix a typo in FileCheck.rst
Eli Bendersky [Wed, 21 Nov 2012 22:40:52 +0000 (22:40 +0000)]
Fix a typo in FileCheck.rst

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

12 years ago[mips] Generate big GOT code.
Akira Hatanaka [Wed, 21 Nov 2012 20:40:38 +0000 (20:40 +0000)]
[mips] Generate big GOT code.

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

12 years agoAdding tests for the Intel JIT event listener's MCJIT support.
Andrew Kaylor [Wed, 21 Nov 2012 20:38:26 +0000 (20:38 +0000)]
Adding tests for the Intel JIT event listener's MCJIT support.

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

12 years ago[mips] Simplify lowering functions in MipsISelLowering.cpp by using the helper
Akira Hatanaka [Wed, 21 Nov 2012 20:30:40 +0000 (20:30 +0000)]
[mips] Simplify lowering functions in MipsISelLowering.cpp by using the helper
functions added in r168456.

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

12 years ago[mips] Add helper functions that create nodes for computing address.
Akira Hatanaka [Wed, 21 Nov 2012 20:26:38 +0000 (20:26 +0000)]
[mips] Add helper functions that create nodes for computing address.

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

12 years ago[mips] Add command line option "-mxgot".
Akira Hatanaka [Wed, 21 Nov 2012 20:21:11 +0000 (20:21 +0000)]
[mips] Add command line option "-mxgot".

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

12 years ago[mips] When a node which loads from a GOT is created, pass a MachinePointerInfo
Akira Hatanaka [Wed, 21 Nov 2012 20:16:34 +0000 (20:16 +0000)]
[mips] When a node which loads from a GOT is created, pass a MachinePointerInfo
referring to a GOT entry.

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

12 years agoAdd new predicates for the immediate operands.
Jyotsna Verma [Wed, 21 Nov 2012 20:05:09 +0000 (20:05 +0000)]
Add new predicates for the immediate operands.

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

12 years ago[mips] Add target operand flag enums for big GOT relocations.
Akira Hatanaka [Wed, 21 Nov 2012 19:59:51 +0000 (19:59 +0000)]
[mips] Add target operand flag enums for big GOT relocations.

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

12 years agoUse one common 'let' expression to set PrintMethod for all immediate operands.
Jyotsna Verma [Wed, 21 Nov 2012 19:53:42 +0000 (19:53 +0000)]
Use one common 'let' expression to set PrintMethod for all immediate operands.

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

12 years agoAdd relocations used for mips big GOT.
Akira Hatanaka [Wed, 21 Nov 2012 19:50:22 +0000 (19:50 +0000)]
Add relocations used for mips big GOT.

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

12 years agotest commit: added a few comments
Preston Briggs [Wed, 21 Nov 2012 18:53:19 +0000 (18:53 +0000)]
test commit: added a few comments

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

12 years agoImplementing basic function-level profiling support in IntelJITEventListener.
Andrew Kaylor [Wed, 21 Nov 2012 18:50:33 +0000 (18:50 +0000)]
Implementing basic function-level profiling support in IntelJITEventListener.

Tests to follow in another patch.

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

12 years agoAdd support for varargs functions for msp430.
Anton Korobeynikov [Wed, 21 Nov 2012 17:28:27 +0000 (17:28 +0000)]
Add support for varargs functions for msp430.
Patch by Job Noorman!

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

12 years agoAdd support for byval args. Patch by Job Noorman!
Anton Korobeynikov [Wed, 21 Nov 2012 17:23:03 +0000 (17:23 +0000)]
Add support for byval args. Patch by Job Noorman!

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

12 years agoFinish the renaming.
Rafael Espindola [Wed, 21 Nov 2012 16:56:33 +0000 (16:56 +0000)]
Finish the renaming.

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

12 years agoRenamed HexagonImmediates.td -> HexagonOperands.td.
Jyotsna Verma [Wed, 21 Nov 2012 16:28:18 +0000 (16:28 +0000)]
Renamed HexagonImmediates.td -> HexagonOperands.td.

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

12 years agollvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize.
NAKAMURA Takumi [Wed, 21 Nov 2012 14:46:18 +0000 (14:46 +0000)]
llvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize.

"not grep '-715827882'" performed as below...bad...

Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

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

12 years agoUsing "not grep" is brittle as the test passes if llvm-as fails.
Rafael Espindola [Wed, 21 Nov 2012 14:17:23 +0000 (14:17 +0000)]
Using "not grep" is brittle as the test passes if llvm-as fails.
Fix the testcase to be valid IL and uses FileCheck.
Thanks to NAKAMURA Takumi for noticing it.

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

12 years agoPR14055: Implement support for sub-vector operations in SROA.
Chandler Carruth [Wed, 21 Nov 2012 08:16:30 +0000 (08:16 +0000)]
PR14055: Implement support for sub-vector operations in SROA.

Now if we can transform an alloca into a single vector value, but it has
subvector, non-element accesses, we form the appropriate shufflevectors
to allow SROA to proceed. This fixes PR14055 which pointed out a very
common pattern that SROA couldn't handle -- mixed vec3 and vec4
operations on a single alloca.

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

12 years agoFix execution domain for packed FMA4 instructions.
Craig Topper [Wed, 21 Nov 2012 08:08:21 +0000 (08:08 +0000)]
Fix execution domain for packed FMA4 instructions.

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

12 years agoMark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm...
Craig Topper [Wed, 21 Nov 2012 05:36:24 +0000 (05:36 +0000)]
Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm.muladd can be converted to ISD::FMA for fp_contract.

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

12 years agoMake calcLiveInMask method static.
Jakub Staszak [Wed, 21 Nov 2012 00:59:34 +0000 (00:59 +0000)]
Make calcLiveInMask method static.

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

12 years agoMake isScratchReg and isFPCopy methods static.
Jakub Staszak [Wed, 21 Nov 2012 00:50:57 +0000 (00:50 +0000)]
Make isScratchReg and isFPCopy methods static.

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

12 years agoWhitespace.
Eric Christopher [Wed, 21 Nov 2012 00:34:38 +0000 (00:34 +0000)]
Whitespace.

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

12 years agoUpdate for some of the coding standard before rearranging functions
Eric Christopher [Wed, 21 Nov 2012 00:34:35 +0000 (00:34 +0000)]
Update for some of the coding standard before rearranging functions
around.

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

12 years agoUpdate some comments.
Eric Christopher [Wed, 21 Nov 2012 00:17:49 +0000 (00:17 +0000)]
Update some comments.

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

12 years agoUpdate and add some comments.
Eric Christopher [Wed, 21 Nov 2012 00:03:31 +0000 (00:03 +0000)]
Update and add some comments.

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

12 years agoWhitespace.
Eric Christopher [Wed, 21 Nov 2012 00:03:28 +0000 (00:03 +0000)]
Whitespace.

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

12 years agoAdd a tests for the new -no-show-raw-insn option of llvm-objdump.
Eli Bendersky [Tue, 20 Nov 2012 23:44:22 +0000 (23:44 +0000)]
Add a tests for the new -no-show-raw-insn option of llvm-objdump.

This also initiates a test/tools directory where tools-specific tests can be
placed.

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

12 years agoAdd obvious constantness.
Jakub Staszak [Tue, 20 Nov 2012 23:32:32 +0000 (23:32 +0000)]
Add obvious constantness.

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

12 years agoRemove constness from this, it modifies the output stream as does
Eric Christopher [Tue, 20 Nov 2012 23:30:11 +0000 (23:30 +0000)]
Remove constness from this, it modifies the output stream as does
everything else underneath.

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

12 years agoAdd the -no-show-raw-insn option to llvm-objdump, thus making it a bit more
Eli Bendersky [Tue, 20 Nov 2012 22:57:02 +0000 (22:57 +0000)]
Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit more
conformant to binutils objdump.

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

12 years agoremoves a few "const" qualifiers
Sebastian Pop [Tue, 20 Nov 2012 22:28:04 +0000 (22:28 +0000)]
removes a few "const" qualifiers

so that I can (someday) call SE->getSCEV without complaint.
No semantic change intended.

Patch from Preston Briggs <preston.briggs@gmail.com>.

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

12 years ago[python] fix get_library()
Anders Waldenborg [Tue, 20 Nov 2012 22:27:55 +0000 (22:27 +0000)]
[python] fix get_library()

Before this fix, the LLVM Python bindings on SVN trunk always fail with:
Exception: LLVM shared library not found!
since it's still looking for a library named "LLVM-3.1svn".

Besides updating the LLVM version in the library name,
this patch also changes llvm.get_library() to make it possible to run
the unit tests without installing the LLVM shared library into a
default linker search path.

e.g. after this patch, running the llvm/python unit tests with:
LD_LIBRARY_PATH=../build/Debug+Asserts/lib nosetests -v bindings/python/llvm/tests/
would work on Linux.

Patch from Scott Tsai (with some minor modifications)

Patch also acked by Gregory Szorc

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

12 years agoRemoving some unused instruction definitions from the Hexagon backend.
Jyotsna Verma [Tue, 20 Nov 2012 22:14:23 +0000 (22:14 +0000)]
Removing some unused instruction definitions from the Hexagon backend.

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

12 years agoRemove unused function argument, add a bit to the comment.
Eric Christopher [Tue, 20 Nov 2012 22:14:13 +0000 (22:14 +0000)]
Remove unused function argument, add a bit to the comment.

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

12 years agoFormatting.
Eric Christopher [Tue, 20 Nov 2012 20:34:47 +0000 (20:34 +0000)]
Formatting.

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

12 years agoWhitespace.
Eric Christopher [Tue, 20 Nov 2012 20:34:44 +0000 (20:34 +0000)]
Whitespace.

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

12 years agoSome sphinx-ing and consistency fixes
Eli Bendersky [Tue, 20 Nov 2012 19:37:58 +0000 (19:37 +0000)]
Some sphinx-ing and consistency fixes

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

12 years agoRemove some dead code.
Eric Christopher [Tue, 20 Nov 2012 18:37:40 +0000 (18:37 +0000)]
Remove some dead code.

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

12 years agoBetter 80cols... *sigh*
Joe Abbey [Tue, 20 Nov 2012 18:14:15 +0000 (18:14 +0000)]
Better 80cols... *sigh*

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

12 years agoFixing a broken link.
Joe Abbey [Tue, 20 Nov 2012 17:51:08 +0000 (17:51 +0000)]
Fixing a broken link.

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

12 years ago[asan] use names of globals instead of an external set to distinguish the globals...
Kostya Serebryany [Tue, 20 Nov 2012 14:16:08 +0000 (14:16 +0000)]
[asan] use names of globals instead of an external set to distinguish the globals generated by asan

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

12 years ago[asan] don't instrument linker-initialized globals even with external linkage in...
Kostya Serebryany [Tue, 20 Nov 2012 13:11:32 +0000 (13:11 +0000)]
[asan] don't instrument linker-initialized globals even with external linkage in -asan-initialization-order mode

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

12 years ago[asan] make sure that linker-initialized globals (non-extern) are not instrumented...
Kostya Serebryany [Tue, 20 Nov 2012 13:00:01 +0000 (13:00 +0000)]
[asan] make sure that linker-initialized globals (non-extern) are not instrumented even in -asan-initialization-order mode. This time with a test

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

12 years agodocs: Fix highlighting.
Sean Silva [Tue, 20 Nov 2012 12:36:27 +0000 (12:36 +0000)]
docs: Fix highlighting.

.git/config was marked as "bash" instead of "ini".

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

12 years agollvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.
NAKAMURA Takumi [Tue, 20 Nov 2012 10:49:01 +0000 (10:49 +0000)]
llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.

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

12 years agoFix a place where the declaration didn't use LLVM_ENABLE_DUMP but the
Chandler Carruth [Tue, 20 Nov 2012 10:23:50 +0000 (10:23 +0000)]
Fix a place where the declaration didn't use LLVM_ENABLE_DUMP but the
definition did.

The last part of PR14324.

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

12 years agoUse LLVM_ENABLE_DUMP for the variables used in printing as well as the
Chandler Carruth [Tue, 20 Nov 2012 10:23:07 +0000 (10:23 +0000)]
Use LLVM_ENABLE_DUMP for the variables used in printing as well as the
printing functions themselves.

Part of PR14324 (which should have just been a patch to the list, but
hey...)

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

12 years agoFix PR14132 and handle OOB loads speculated throuh PHI nodes.
Chandler Carruth [Tue, 20 Nov 2012 10:02:19 +0000 (10:02 +0000)]
Fix PR14132 and handle OOB loads speculated throuh PHI nodes.

The issue is that we may end up with newly OOB loads when speculating
a load into the predecessors of a PHI node, and this confuses the new
integer splitting logic in some cases, triggering an assertion failure.
In fact, the branch in question must be dead code as it loads from
a too-narrow alloca. Add code to handle this gracefully and leave the
requisite FIXMEs for both optimizing more aggressively and doing more to
aid sanitizing invalid code which triggers these patterns.

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

12 years agoFix physical register liveness calculations:
Tim Northover [Tue, 20 Nov 2012 09:56:11 +0000 (09:56 +0000)]
Fix physical register liveness calculations:

+ Take account of clobbers
+ Give outputs priority over inputs since they happen later.

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

12 years agoIntel OCL built-ins calling conventions now support MacOS 32-bit.
Elena Demikhovsky [Tue, 20 Nov 2012 09:37:57 +0000 (09:37 +0000)]
Intel OCL built-ins calling conventions now support MacOS 32-bit.

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

12 years agoMarking remote mcjit tests as XFAIL for MIPS.
Simon Atanasyan [Tue, 20 Nov 2012 07:25:17 +0000 (07:25 +0000)]
Marking remote mcjit tests as XFAIL for MIPS.

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

12 years agoMake the AttrListPtr object a part of the LLVMContext.
Bill Wendling [Tue, 20 Nov 2012 05:09:20 +0000 (05:09 +0000)]
Make the AttrListPtr object a part of the LLVMContext.

When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.

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

12 years agoNote Freescale's contributions in the PPC release notes.
Hal Finkel [Tue, 20 Nov 2012 04:20:31 +0000 (04:20 +0000)]
Note Freescale's contributions in the PPC release notes.

This mainly reflects the work of Tobias von Koch.

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

12 years agodocs: Sphinxify LLVMBuild documentation.
Sean Silva [Tue, 20 Nov 2012 03:13:53 +0000 (03:13 +0000)]
docs: Sphinxify LLVMBuild documentation.

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

12 years agoAdd a comment to associate a FIXME with a PR where it is matters.
Chandler Carruth [Tue, 20 Nov 2012 01:27:48 +0000 (01:27 +0000)]
Add a comment to associate a FIXME with a PR where it is matters.

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

12 years agoRework the rewriting of loads and stores for vector and integer allocas
Chandler Carruth [Tue, 20 Nov 2012 01:12:50 +0000 (01:12 +0000)]
Rework the rewriting of loads and stores for vector and integer allocas
to properly handle the combinations of these with split integer loads
and stores. This essentially replaces Evan's r168227 by refactoring the
code in a different way, and trynig to mirror that refactoring in both
the load and store sides of the rewriting.

Generally speaking there was some really problematic duplicated code
here that led to poorly founded assumptions and then subtle bugs. Now
much of the code actually flows through and follows a more consistent
style and logical path. There is still a tiny bit of duplication on the
store side of things, but it is much less bad.

This also changes the logic to never re-use a load or store instruction
as that was simply too error prone in practice.

I've added a few tests (one a reduction of the one in Evan's original
patch, which happened to be the same as the report in PR14349). I'm
going to look at adding a few more tests for things I found and fixed in
passing (such as the volatile tests in the vectorizable predicate).

This patch has survived bootstrap, and modulo one bugfix survived
Duncan's test suite, but let me know if anything else explodes.

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

12 years agoReST-ify some markup in the LIT document
Eli Bendersky [Tue, 20 Nov 2012 00:26:08 +0000 (00:26 +0000)]
ReST-ify some markup in the LIT document

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

12 years ago80-column and whitespace fixups.
Eric Christopher [Tue, 20 Nov 2012 00:15:36 +0000 (00:15 +0000)]
80-column and whitespace fixups.

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

12 years agoAllow using MemoryBuffers with yaml::Stream directly.
Sean Silva [Mon, 19 Nov 2012 23:21:47 +0000 (23:21 +0000)]
Allow using MemoryBuffers with yaml::Stream directly.

The rationale is to get YAML filenames in diagnostics from
yaml::Stream::printError -- currently the filename is hard-coded as
"YAML" because there's no buffer information available.

Patch by Kim Gräsman!

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

12 years agoRemove a function argument and propagate const around accordingly.
Eric Christopher [Mon, 19 Nov 2012 22:42:15 +0000 (22:42 +0000)]
Remove a function argument and propagate const around accordingly.

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

12 years agoWhitespace and 80-col.
Eric Christopher [Mon, 19 Nov 2012 22:42:10 +0000 (22:42 +0000)]
Whitespace and 80-col.

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

12 years agodocs: Fix reference to "bold" part of code example.
Sean Silva [Mon, 19 Nov 2012 21:18:50 +0000 (21:18 +0000)]
docs: Fix reference to "bold" part of code example.

Fixes PR14380.

The prose was referring to a "bold" part of the code example, where the
boldness was lost in the transition from HTML. Unlike HTML, where one
can easily have a <b> inside a <pre>, reStructuredText is generally
unable to represent such nested markup.

Hack around it with the :emphasise-lines: option to the  code-block
directive to single out the regions instead. Thankfully the regions are
close-enough to being full lines for this to work.

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

12 years agoMake AsmPrinter::EmitTTypeReference() more robust - put
Anton Korobeynikov [Mon, 19 Nov 2012 21:17:20 +0000 (21:17 +0000)]
Make AsmPrinter::EmitTTypeReference() more robust - put
the zero GV check inside, so we won't forget it at the caller side.

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

12 years agoFactor out type info emission into separate routine.
Anton Korobeynikov [Mon, 19 Nov 2012 21:06:26 +0000 (21:06 +0000)]
Factor out type info emission into separate routine.
It turned out that ARM wants different layout of type infos.
This is yet another patch in attempt to fix PR7187

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

12 years agoMove section label emission to module end. Nothing should be
Eric Christopher [Mon, 19 Nov 2012 19:43:59 +0000 (19:43 +0000)]
Move section label emission to module end. Nothing should be
depending on them being emitted before the text and/or data
sections and testing didn't uncover any.

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

12 years agoHandle mixed normal and early-clobber defs on inline asm.
Jakob Stoklund Olesen [Mon, 19 Nov 2012 19:31:10 +0000 (19:31 +0000)]
Handle mixed normal and early-clobber defs on inline asm.

PR14376.

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

12 years agoFix a pasto.
Eric Christopher [Mon, 19 Nov 2012 19:31:02 +0000 (19:31 +0000)]
Fix a pasto.

Noticed by Dimitri Andric!

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

12 years ago80 cols
Joe Abbey [Mon, 19 Nov 2012 19:22:55 +0000 (19:22 +0000)]
80 cols

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

12 years agoEnable MCJIT tests on PowerPC.
Ulrich Weigand [Mon, 19 Nov 2012 17:57:07 +0000 (17:57 +0000)]
Enable MCJIT tests on PowerPC.
Disable old JIT tests on PowerPC.

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

12 years agoAdd myself as owner of the Hexagon backend.
Anshuman Dasgupta [Mon, 19 Nov 2012 15:40:22 +0000 (15:40 +0000)]
Add myself as owner of the Hexagon backend.

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

12 years agoPromote the constant 1 to long long, 1LL or 1ULL in int64_t-sensitive context.
NAKAMURA Takumi [Mon, 19 Nov 2012 10:03:09 +0000 (10:03 +0000)]
Promote the constant 1 to long long, 1LL or 1ULL in int64_t-sensitive context.

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

12 years agoFirst version of Polly release notes for 3.2
Tobias Grosser [Mon, 19 Nov 2012 08:58:29 +0000 (08:58 +0000)]
First version of Polly release notes for 3.2

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

12 years agoClean up handling of always-inline functions in the inliner.
Bob Wilson [Mon, 19 Nov 2012 07:04:35 +0000 (07:04 +0000)]
Clean up handling of always-inline functions in the inliner.

This patch moves the isInlineViable function from the InlineAlways pass into
the InlineCostAnalyzer and then changes the InlineCost computation to use that
simple check for always-inline functions. All the special-case checks for
AlwaysInline in the CallAnalyzer can then go away.

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

12 years agoSome comment fixes.
Bob Wilson [Mon, 19 Nov 2012 07:04:30 +0000 (07:04 +0000)]
Some comment fixes.

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

12 years agoMove else onto line with preceding closing brace.
Craig Topper [Mon, 19 Nov 2012 00:11:50 +0000 (00:11 +0000)]
Move else onto line with preceding closing brace.

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

12 years agoRemove the last bit of constant folding from LinearizeExprTree (most of it was
Duncan Sands [Sun, 18 Nov 2012 20:15:36 +0000 (20:15 +0000)]
Remove the last bit of constant folding from LinearizeExprTree (most of it was
removed in commit 168035, but I missed this bit).

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

12 years agoFix PR14060, an infinite loop in reassociate. The problem was that one of the
Duncan Sands [Sun, 18 Nov 2012 19:27:01 +0000 (19:27 +0000)]
Fix PR14060, an infinite loop in reassociate.  The problem was that one of the
operands of the expression being written was wrongly thought to be reusable as
an inner node of the expression resulting in it turning up as both an inner node
*and* a leaf, creating a cycle in the def-use graph.  This would have caused the
verifier to blow up if things had gotten that far, however it managed to provoke
an infinite loop first.

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

12 years agoSystemLibrary.rst: remove reference to a bug that was closed long time ago
Dmitri Gribenko [Sun, 18 Nov 2012 18:42:18 +0000 (18:42 +0000)]
SystemLibrary.rst: remove reference to a bug that was closed long time ago

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

12 years agoDocumentation: convert SystemLibrary documentation to reST
Dmitri Gribenko [Sun, 18 Nov 2012 18:40:21 +0000 (18:40 +0000)]
Documentation: convert SystemLibrary documentation to reST

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

12 years agoDocumentation: remove a copy of the FileCheck man page from TestingGuide
Dmitri Gribenko [Sun, 18 Nov 2012 18:28:14 +0000 (18:28 +0000)]
Documentation: remove a copy of the FileCheck man page from TestingGuide

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

12 years agoDocumentation: use a :doc: link instead of an absolute http:// link.
Dmitri Gribenko [Sun, 18 Nov 2012 10:35:18 +0000 (10:35 +0000)]
Documentation: use a :doc: link instead of an absolute  link.

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

12 years agoDocumentation: fix broken link.
Dmitri Gribenko [Sun, 18 Nov 2012 10:32:14 +0000 (10:32 +0000)]
Documentation: fix broken link.

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

12 years agoUse a full triple for a PPC test case for asm syntax.
Andrew Trick [Sun, 18 Nov 2012 06:21:03 +0000 (06:21 +0000)]
Use a full triple for a PPC test case for asm syntax.

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

12 years agoMCJIT: [cygming] Give noop to __main also in RecordingMemoryManger. It is emitted...
NAKAMURA Takumi [Sun, 18 Nov 2012 06:16:32 +0000 (06:16 +0000)]
MCJIT: [cygming] Give noop to __main also in RecordingMemoryManger. It is emitted in @main().

XFAIL(s) can be removed.

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

12 years agotest/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.
NAKAMURA Takumi [Sun, 18 Nov 2012 06:16:21 +0000 (06:16 +0000)]
test/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.

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

12 years agoDon't try to calculate the alignment of an unsigned type. Fixes PR14371!
Nick Lewycky [Sun, 18 Nov 2012 05:39:39 +0000 (05:39 +0000)]
Don't try to calculate the alignment of an unsigned type. Fixes PR14371!

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

12 years agodocs: CodingStandards should follow the coding standards.
Sean Silva [Sat, 17 Nov 2012 23:25:33 +0000 (23:25 +0000)]
docs: CodingStandards should follow the coding standards.

Some variables in code examples were not LikeThis.

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

12 years agoBump sphinx config to 3.3.
Benjamin Kramer [Sat, 17 Nov 2012 22:12:59 +0000 (22:12 +0000)]
Bump sphinx config to 3.3.

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

12 years agoKick off 3.3 cycle for LLVM trunk.
Benjamin Kramer [Sat, 17 Nov 2012 22:01:08 +0000 (22:01 +0000)]
Kick off 3.3 cycle for LLVM trunk.

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

12 years agodocs: Add link to HowToSetUpLLVMStyleRTTI
Sean Silva [Sat, 17 Nov 2012 21:01:44 +0000 (21:01 +0000)]
docs: Add link to HowToSetUpLLVMStyleRTTI

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

12 years agoTypo
James Molloy [Sat, 17 Nov 2012 17:59:44 +0000 (17:59 +0000)]
Typo

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

12 years agoAdd a new function to ConstantExpr - getAsInstruction. This returns its Instruction...
James Molloy [Sat, 17 Nov 2012 17:56:30 +0000 (17:56 +0000)]
Add a new function to ConstantExpr - getAsInstruction. This returns its Instruction* corollary, which may be useful if a user
wishes to transform a ConstantExpr so that one of its operands is no longer constant.

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

12 years agoPlug a memory leak in the GCOV profiling emitter, which never released the edge table...
Benjamin Kramer [Sat, 17 Nov 2012 13:49:37 +0000 (13:49 +0000)]
Plug a memory leak in the GCOV profiling emitter, which never released the edge table memory.

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

12 years agoreally fix permissions
Pawel Wodnicki [Sat, 17 Nov 2012 06:38:44 +0000 (06:38 +0000)]
really fix permissions

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

12 years agofix permissions
Pawel Wodnicki [Sat, 17 Nov 2012 06:35:19 +0000 (06:35 +0000)]
fix permissions

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