oota-llvm.git
13 years agoupgrade to use new intrinsics, patch by Dan Hipschman!
Chris Lattner [Tue, 10 Aug 2010 21:45:38 +0000 (21:45 +0000)]
upgrade to use new intrinsics, patch by Dan Hipschman!

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

13 years agoAdd the minimal amount of smarts necessary to instcombine of shufflevectors to recognize
Nate Begeman [Tue, 10 Aug 2010 21:38:12 +0000 (21:38 +0000)]
Add the minimal amount of smarts necessary to instcombine of shufflevectors to recognize
patterns generated by clang for transpose of a matrix in generic vectors.  This is made
of two parts:

1) Propagating vector extracts of hi/lo half into their users
2) Recognizing an insertion of even elements followed by the odd elements as an unpack.

Testcase to come, but this shrinks the # of shuffle instructions generated on x86 from ~40 to the minimal 8.

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

13 years agoTurn optimize compares back on with fix. We needed to test that a machine op was
Bill Wendling [Tue, 10 Aug 2010 21:38:11 +0000 (21:38 +0000)]
Turn optimize compares back on with fix. We needed to test that a machine op was
a register before checking if it was defined.

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

13 years agoGive up on register class recalculation when the register is used with subreg
Jakob Stoklund Olesen [Tue, 10 Aug 2010 21:16:16 +0000 (21:16 +0000)]
Give up on register class recalculation when the register is used with subreg
operands. We don't currently have a hook to provide "the largest super class of
A where all registers' getSubReg(subidx) is valid and in B".

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

13 years agoRevert r110718; it broke clang-i386-darwin9.
Dan Gohman [Tue, 10 Aug 2010 20:49:33 +0000 (20:49 +0000)]
Revert r110718; it broke clang-i386-darwin9.

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

13 years agoAvoid editing the current live interval during remat.
Jakob Stoklund Olesen [Tue, 10 Aug 2010 20:45:07 +0000 (20:45 +0000)]
Avoid editing the current live interval during remat.

The live interval may be used for a spill slot as well, and that spill slot
could be shared by split registers. We cannot shrink it, even if we know the
current register won't need the spill slot in that range.

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

13 years agoMore debug spew
Jakob Stoklund Olesen [Tue, 10 Aug 2010 20:45:01 +0000 (20:45 +0000)]
More debug spew

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

13 years agoTurn optimize cmps on by default so that we can get some testing by the nightly
Bill Wendling [Tue, 10 Aug 2010 20:23:02 +0000 (20:23 +0000)]
Turn optimize cmps on by default so that we can get some testing by the nightly
ARM testers.

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

13 years agoAdd missing argument. CreateCompositeTypeEx() users, please verify.
Devang Patel [Tue, 10 Aug 2010 20:22:49 +0000 (20:22 +0000)]
Add missing argument. CreateCompositeTypeEx() users, please verify.

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

13 years agoSwitch over to using ConstantRange to track integral values.
Owen Anderson [Tue, 10 Aug 2010 20:03:09 +0000 (20:03 +0000)]
Switch over to using ConstantRange to track integral values.

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

13 years agoDo not forget debug info for enums. Use named mdnode to keep track of these types.
Devang Patel [Tue, 10 Aug 2010 20:01:20 +0000 (20:01 +0000)]
Do not forget debug info for enums. Use named mdnode to keep track of these types.

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

13 years agotests: Don't error out if HOME isn't present in t the environment.
Daniel Dunbar [Tue, 10 Aug 2010 19:36:25 +0000 (19:36 +0000)]
tests: Don't error out if HOME isn't present in t the environment.

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

13 years agoDelete some unused instructions.
Evan Cheng [Tue, 10 Aug 2010 19:36:22 +0000 (19:36 +0000)]
Delete some unused instructions.

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

13 years agoRe-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack...
Evan Cheng [Tue, 10 Aug 2010 19:30:19 +0000 (19:30 +0000)]
Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object.

Also added a test case to check for the added benefit of this patch: it's optimizing away the unnecessary restore of sp from fp for some non-leaf functions.

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

13 years agoMake it possible to set the flags passed to the assembler.
Rafael Espindola [Tue, 10 Aug 2010 18:55:09 +0000 (18:55 +0000)]
Make it possible to set the flags passed to the assembler.

Nick, please review.

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

13 years agoImplement register class inflation.
Jakob Stoklund Olesen [Tue, 10 Aug 2010 18:37:40 +0000 (18:37 +0000)]
Implement register class inflation.

When splitting a live range, the new registers have fewer uses and the
permissible register class may be less constrained. Recompute the register class
constraint from the uses of new registers created for a split. This may let them
be allocated from a larger set, possibly avoiding a spill.

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

13 years agoRevert r110655, "Fix ARM hasFP() semantics. It should return true whenever FP
Daniel Dunbar [Tue, 10 Aug 2010 18:32:02 +0000 (18:32 +0000)]
Revert r110655, "Fix ARM hasFP() semantics. It should return true whenever FP
register is", it breaks a couple test-suite tests.

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

13 years agoMC/AsmParser: Fix a bug in macro argument parsing, which was dropping
Daniel Dunbar [Tue, 10 Aug 2010 17:38:52 +0000 (17:38 +0000)]
MC/AsmParser: Fix a bug in macro argument parsing, which was dropping
parentheses from argument lists.

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

13 years agoInstall llvmCore_Sim to the simulator SDK directory. Radar 8282845.
Bob Wilson [Tue, 10 Aug 2010 17:13:58 +0000 (17:13 +0000)]
Install llvmCore_Sim to the simulator SDK directory.  Radar 8282845.

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

13 years agoRecalculate the spill weight and allocation hint for virtual registers created
Jakob Stoklund Olesen [Tue, 10 Aug 2010 17:07:22 +0000 (17:07 +0000)]
Recalculate the spill weight and allocation hint for virtual registers created
during live range splitting.

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

13 years agoFix test for more architectures. Patch by Tobias Grosser.
Jakob Stoklund Olesen [Tue, 10 Aug 2010 16:48:24 +0000 (16:48 +0000)]
Fix test for more architectures. Patch by Tobias Grosser.

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

13 years agoFix silly bug.
Rafael Espindola [Tue, 10 Aug 2010 16:32:15 +0000 (16:32 +0000)]
Fix silly bug.

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

13 years agoRevert "MC/MachO: Fix possible null pointer dereference."
Michael J. Spencer [Tue, 10 Aug 2010 16:00:49 +0000 (16:00 +0000)]
Revert "MC/MachO: Fix possible null pointer dereference."

This reverts commit 110575.

Target.isAbsolute() is true if SD would be null.

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

13 years agoUse RunPassesOn as in the rest of bugpoint.
Rafael Espindola [Tue, 10 Aug 2010 15:46:11 +0000 (15:46 +0000)]
Use RunPassesOn as in the rest of bugpoint.

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

13 years agoSimplify generating LLVMC_BUILTIN_PLUGIN.
Mikhail Glushenkov [Tue, 10 Aug 2010 14:49:29 +0000 (14:49 +0000)]
Simplify generating LLVMC_BUILTIN_PLUGIN.

Patch by NAKAMURA Takumi!

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

13 years agoTrailing whitespace.
Mikhail Glushenkov [Tue, 10 Aug 2010 14:49:24 +0000 (14:49 +0000)]
Trailing whitespace.

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

13 years agoMark this variable as used.
Chandler Carruth [Tue, 10 Aug 2010 10:39:25 +0000 (10:39 +0000)]
Mark this variable as used.

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

13 years agoRegionInfo: Do not assert if a BB is not part of the dominance tree.
Tobias Grosser [Tue, 10 Aug 2010 09:54:35 +0000 (09:54 +0000)]
RegionInfo: Do not assert if a BB is not part of the dominance tree.

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

13 years agoFix failing testcase.
Tobias Grosser [Tue, 10 Aug 2010 09:54:29 +0000 (09:54 +0000)]
Fix failing testcase.

Those look like typos to me.

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

13 years agoHandle TAG_constant for integers.
Devang Patel [Tue, 10 Aug 2010 07:11:13 +0000 (07:11 +0000)]
Handle TAG_constant for integers.

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

13 years agoFix ARM hasFP() semantics. It should return true whenever FP register is
Evan Cheng [Tue, 10 Aug 2010 06:26:49 +0000 (06:26 +0000)]
Fix ARM hasFP() semantics. It should return true whenever FP register is
reserved, not available for general allocation. This eliminates all the
extra checks for Darwin.

This change also fixes the use of FP to access frame indices in leaf
functions and cleaned up some confusing code in epilogue emission.

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

13 years agoUpdate CMake...sorry for the breakage.
Bill Wendling [Tue, 10 Aug 2010 05:16:06 +0000 (05:16 +0000)]
Update CMake...sorry for the breakage.

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

13 years agoSimplify.
Devang Patel [Tue, 10 Aug 2010 04:12:17 +0000 (04:12 +0000)]
Simplify.

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

13 years agoDrop "const". It does not add value here.
Devang Patel [Tue, 10 Aug 2010 04:09:06 +0000 (04:09 +0000)]
Drop "const". It does not add value here.

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

13 years agoAdd AVX movnt{pd,ps,dq} 256-bit intrinsics
Bruno Cardoso Lopes [Tue, 10 Aug 2010 02:49:24 +0000 (02:49 +0000)]
Add AVX movnt{pd,ps,dq} 256-bit intrinsics

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

13 years agoAdd missing null check reported by Amaury Pouly.
Evan Cheng [Tue, 10 Aug 2010 02:39:45 +0000 (02:39 +0000)]
Add missing null check reported by Amaury Pouly.

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

13 years agoAdd AVX movmsk 256-bit intrinsics
Bruno Cardoso Lopes [Tue, 10 Aug 2010 02:34:56 +0000 (02:34 +0000)]
Add AVX movmsk 256-bit intrinsics

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

13 years agoRemove replicate intrinsics, clang will generate shufflevector for those. The shuffle...
Bruno Cardoso Lopes [Tue, 10 Aug 2010 02:25:35 +0000 (02:25 +0000)]
Remove replicate intrinsics, clang will generate shufflevector for those. The shuffles can't be matched by x86 codegen yet, but will soon

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

13 years agoSupport AVX 256-bit load and store intrinsics
Bruno Cardoso Lopes [Tue, 10 Aug 2010 01:43:16 +0000 (01:43 +0000)]
Support AVX 256-bit load and store intrinsics

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

13 years agoUse i32 instead of i8 for dot product intrinsic
Bruno Cardoso Lopes [Tue, 10 Aug 2010 01:40:05 +0000 (01:40 +0000)]
Use i32 instead of i8 for dot product intrinsic

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

13 years agoDo not include file static variable in pubnames list.
Devang Patel [Tue, 10 Aug 2010 01:37:23 +0000 (01:37 +0000)]
Do not include file static variable in pubnames list.
Refactor and simplify code to avoid redundant checks.

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

13 years agoExpand uses of python 2.6's "A if B else C" syntax into regular
Dan Gohman [Tue, 10 Aug 2010 01:03:34 +0000 (01:03 +0000)]
Expand uses of python 2.6's "A if B else C" syntax into regular
if-else statements, to hopefully support older pythons (PR7850).

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

13 years agoremove code setting rw locks to PTHREAD_PROCESS_PRIVATE, which
Chris Lattner [Tue, 10 Aug 2010 00:34:06 +0000 (00:34 +0000)]
remove code setting rw locks to PTHREAD_PROCESS_PRIVATE, which
is the default.  Patch by NAKAMURA Takumi!

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

13 years agoPatterns to match AVX cmp instructions
Bruno Cardoso Lopes [Tue, 10 Aug 2010 00:13:20 +0000 (00:13 +0000)]
Patterns to match AVX cmp instructions

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

13 years agoTranspose the calculation of spill weights such that we are calculating one
Jakob Stoklund Olesen [Tue, 10 Aug 2010 00:02:26 +0000 (00:02 +0000)]
Transpose the calculation of spill weights such that we are calculating one
register at a time. This turns out to be slightly faster than iterating over
instructions, but more importantly, it allows us to compute spill weights for
new registers created after the spill weight pass has run.

Also compute the allocation hint at the same time as the spill weight. This
allows us to use the spill weight as a cost metric for copies, and choose the
most profitable hint if there is more than one possibility.

The new hints provide a very small (< 0.1%) but universal code size improvement.

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

13 years agoAdd matching patterns for vblend AVX intrinsics
Bruno Cardoso Lopes [Tue, 10 Aug 2010 00:02:05 +0000 (00:02 +0000)]
Add matching patterns for vblend AVX intrinsics

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

13 years agoFix the last argument type of AVX vblend intrinsics
Bruno Cardoso Lopes [Tue, 10 Aug 2010 00:00:22 +0000 (00:00 +0000)]
Fix the last argument type of AVX vblend intrinsics

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

13 years agoMerge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizer
Bill Wendling [Mon, 9 Aug 2010 23:59:04 +0000 (23:59 +0000)]
Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizer
pass. This pass should expand with all of the small, fine-grained optimization
passes to reduce compile time and increase happiment.

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

13 years agoUndo accidental commit.
Devang Patel [Mon, 9 Aug 2010 23:28:52 +0000 (23:28 +0000)]
Undo accidental commit.

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

13 years agoSimplify. Avoid redundant checks.
Devang Patel [Mon, 9 Aug 2010 23:26:06 +0000 (23:26 +0000)]
Simplify. Avoid redundant checks.

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

13 years agoWording.
Eric Christopher [Mon, 9 Aug 2010 22:52:47 +0000 (22:52 +0000)]
Wording.

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

13 years agoNext bit of support for the dwarf .file directive. This patch takes the
Kevin Enderby [Mon, 9 Aug 2010 22:52:14 +0000 (22:52 +0000)]
Next bit of support for the dwarf .file directive.  This patch takes the
previously collected info from the .file directives and outputs the encoded
bytes for it.  For now this is only in the Mach-O streamer but at some point
will move to a more generic place.

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

13 years agoARMBaseRegisterInfo::hasFP() has been broken for a while now. :-(
Evan Cheng [Mon, 9 Aug 2010 22:32:45 +0000 (22:32 +0000)]
ARMBaseRegisterInfo::hasFP() has been broken for a while now. :-(
This will always be false before PEI:
(DisableFramePointerElim(MF) && MFI->adjustsStack())
Which means it's going to make r11 available as a general purpose register even
if -disable-fp-elim is specified. It's working on Darwin only because r7 is
always reserved. But it's obviously broken for other targets.

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

13 years agoAdd VCVTPD2PS, VCVTPS2DQ, VCVTPS2PDY, VCVTTPD2DQY, VCVTTPS2DQ and VCVTPD2DQ 256-bit...
Bruno Cardoso Lopes [Mon, 9 Aug 2010 21:51:56 +0000 (21:51 +0000)]
Add VCVTPD2PS, VCVTPS2DQ, VCVTPS2PDY, VCVTTPD2DQY, VCVTTPS2DQ and VCVTPD2DQ 256-bit conversion intrinsics

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

13 years agoRefactor.
Devang Patel [Mon, 9 Aug 2010 21:39:24 +0000 (21:39 +0000)]
Refactor.

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

13 years agoAdd patterns to AVX conversions instructions. Do that instead of declaring more intru...
Bruno Cardoso Lopes [Mon, 9 Aug 2010 21:24:59 +0000 (21:24 +0000)]
Add patterns to AVX conversions instructions. Do that instead of declaring more intructions whenever is possible, more coming

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

13 years agoMake it possible to set the target triple and expose that with an option in the
Rafael Espindola [Mon, 9 Aug 2010 21:09:46 +0000 (21:09 +0000)]
Make it possible to set the target triple and expose that with an option in the
gold plugin.

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

13 years agoFix a use after free error caught by the valgrind builders.
Nick Lewycky [Mon, 9 Aug 2010 21:03:28 +0000 (21:03 +0000)]
Fix a use after free error caught by the valgrind builders.

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

13 years agoRefactoring. Update DbgVarible to handle queries itself.
Devang Patel [Mon, 9 Aug 2010 21:01:39 +0000 (21:01 +0000)]
Refactoring. Update DbgVarible to handle queries itself.

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

13 years agoAdd ConstantRange information to the debugging output.
Owen Anderson [Mon, 9 Aug 2010 20:50:46 +0000 (20:50 +0000)]
Add ConstantRange information to the debugging output.

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

13 years agoPR7853: fix a silly mistake introduced in r101899, and add a test to make sure
Eli Friedman [Mon, 9 Aug 2010 20:49:43 +0000 (20:49 +0000)]
PR7853: fix a silly mistake introduced in r101899, and add a test to make sure
it doesn't regress again.

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

13 years agoUpdate cmake library dependencies.
Oscar Fuentes [Mon, 9 Aug 2010 20:33:20 +0000 (20:33 +0000)]
Update cmake library dependencies.

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

13 years agoCMake: eliminated unnecessary target_link_libraries.
Oscar Fuentes [Mon, 9 Aug 2010 20:33:08 +0000 (20:33 +0000)]
CMake: eliminated unnecessary target_link_libraries.

Next time the build is broken due to wrong library dependencies, just
try building again (if you are on some Unix and are building all LLVM
targets) or ask someone to commit the regenerated LLVMLibDeps.cmake.

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

13 years agoIt is ok, and convenient, to pass descriptors by value.
Devang Patel [Mon, 9 Aug 2010 20:20:05 +0000 (20:20 +0000)]
It is ok, and convenient, to pass descriptors by value.

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

13 years agoA REG_SEQUENCE instruction may use the same register twice.
Jakob Stoklund Olesen [Mon, 9 Aug 2010 20:19:16 +0000 (20:19 +0000)]
A REG_SEQUENCE instruction may use the same register twice.

If we are emitting COPY instructions for the REG_SEQUENCE, make sure the kill
flag goes on the last COPY. Otherwise we may be using a killed register.

<rdar://problem/8287792>

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

13 years agoExplicitly initialize SlowFPBrcc and Pref32BitThumb to false.
Evan Cheng [Mon, 9 Aug 2010 19:19:36 +0000 (19:19 +0000)]
Explicitly initialize SlowFPBrcc and Pref32BitThumb to false.

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

13 years agoRename a method.
Devang Patel [Mon, 9 Aug 2010 18:51:29 +0000 (18:51 +0000)]
Rename a method.

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

13 years agoChange -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32...
Evan Cheng [Mon, 9 Aug 2010 18:35:19 +0000 (18:35 +0000)]
Change -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32-bit to 16-bit optimizations.

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

13 years agoMemory version of vcvtdq2pd intrinsic
Bruno Cardoso Lopes [Mon, 9 Aug 2010 18:20:14 +0000 (18:20 +0000)]
Memory version of vcvtdq2pd intrinsic

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

13 years agoPatterns to match vinsert, vbroadcast, vmovmask and vcvtdq2pd AVX intrinsics
Bruno Cardoso Lopes [Mon, 9 Aug 2010 18:03:43 +0000 (18:03 +0000)]
Patterns to match vinsert, vbroadcast, vmovmask and vcvtdq2pd AVX intrinsics

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

13 years agoAdd an option to disable 32 -> 16-bit Thumb2 size reduction pass for experimentation.
Evan Cheng [Mon, 9 Aug 2010 17:16:10 +0000 (17:16 +0000)]
Add an option to disable 32 -> 16-bit Thumb2 size reduction pass for experimentation.

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

13 years agoRemove the ValueMap operator=, which was wrong (it did't correct the
Duncan Sands [Mon, 9 Aug 2010 16:44:56 +0000 (16:44 +0000)]
Remove the ValueMap operator=, which was wrong (it did't correct the
Map pointers of any contained ValueMapCallbackVH's) and unused.

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

13 years agoHave SPU handle halfvec stores aligned by 8 bytes.
Kalle Raiskila [Mon, 9 Aug 2010 16:33:00 +0000 (16:33 +0000)]
Have SPU handle halfvec stores aligned by 8 bytes.

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

13 years agoMC/MachO: Fix possible null pointer dereference.
Michael J. Spencer [Mon, 9 Aug 2010 15:28:05 +0000 (15:28 +0000)]
MC/MachO: Fix possible null pointer dereference.

Discovered by Microsoft Visual Studio 2010 Code Analysis.

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

13 years agoXFAIL for mingw that has no plugins.
Rafael Espindola [Mon, 9 Aug 2010 15:14:06 +0000 (15:14 +0000)]
XFAIL for mingw that has no plugins.

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

13 years agoDon't try to build a plugin on windows.
Rafael Espindola [Mon, 9 Aug 2010 14:05:42 +0000 (14:05 +0000)]
Don't try to build a plugin on windows.

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

13 years agoStop the JIT from refusing to work just because the program it was compiled into
Nick Lewycky [Mon, 9 Aug 2010 07:20:20 +0000 (07:20 +0000)]
Stop the JIT from refusing to work just because the program it was compiled into
was built with -static.

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

13 years agoCMake: llvm_map_components_to_libraries now returns system libs too.
Oscar Fuentes [Mon, 9 Aug 2010 03:47:11 +0000 (03:47 +0000)]
CMake: llvm_map_components_to_libraries now returns system libs too.

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

13 years agoChange the Interval type to signed in ImmutableIntervalMap.h.
Zhongxing Xu [Mon, 9 Aug 2010 03:43:39 +0000 (03:43 +0000)]
Change the Interval type to signed in ImmutableIntervalMap.h.

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

13 years agoCMake: document how to incorporate LLVM into the cmake project of an
Oscar Fuentes [Mon, 9 Aug 2010 03:26:48 +0000 (03:26 +0000)]
CMake: document how to incorporate LLVM into the cmake project of an
external project.

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

13 years agoCMake: system for providing llvm-config-like features to the user.
Oscar Fuentes [Mon, 9 Aug 2010 03:26:43 +0000 (03:26 +0000)]
CMake: system for providing llvm-config-like features to the user.

The user can use a cmake function for obtaining the LLVM libraries
corresponding to a list of LLVM components.

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

13 years agoCMake: documented testing procedure
Oscar Fuentes [Mon, 9 Aug 2010 02:49:39 +0000 (02:49 +0000)]
CMake: documented testing procedure

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

13 years agollc: Fix help typo as pointed out by Nick Lewycky.
Michael J. Spencer [Sun, 8 Aug 2010 23:26:49 +0000 (23:26 +0000)]
llc: Fix help typo as pointed out by Nick Lewycky.

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

13 years agoAdd a opt-args option that can be used to pass arguments to every opt
Rafael Espindola [Sun, 8 Aug 2010 22:14:20 +0000 (22:14 +0000)]
Add a opt-args option that can be used to pass arguments to every opt
invocation. Fixes PR7793:

bugpoint -debug test.ll --opt-args -unroll-count=4

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

13 years agos/libLLVMgold/LLVMgold/g
Rafael Espindola [Sun, 8 Aug 2010 21:14:26 +0000 (21:14 +0000)]
s/libLLVMgold/LLVMgold/g

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

13 years agoRemove unused variable.
Benjamin Kramer [Sun, 8 Aug 2010 19:54:10 +0000 (19:54 +0000)]
Remove unused variable.

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

13 years agoRemove the ValueMap copy constructor. It's not used anywhere,
Duncan Sands [Sun, 8 Aug 2010 12:57:48 +0000 (12:57 +0000)]
Remove the ValueMap copy constructor.  It's not used anywhere,
and removing it catches the mistake of passing a ValueMap by
copy rather than by reference.

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

13 years agoRegenerate.
Eric Christopher [Sun, 8 Aug 2010 09:20:39 +0000 (09:20 +0000)]
Regenerate.

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

13 years agoAdd a bit of a hack to avoid multiple defines of variables in
Eric Christopher [Sun, 8 Aug 2010 09:18:29 +0000 (09:18 +0000)]
Add a bit of a hack to avoid multiple defines of variables in
config.h and llvm-config.h.  This could probably be improved.

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

13 years agoAdd optimization to Target/README.txt.
Nick Lewycky [Sun, 8 Aug 2010 07:04:25 +0000 (07:04 +0000)]
Add optimization to Target/README.txt.

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

13 years agoReject unrepresentable pointer types in intrinsics. Fixes PR7316.
Nick Lewycky [Sun, 8 Aug 2010 06:12:09 +0000 (06:12 +0000)]
Reject unrepresentable pointer types in intrinsics. Fixes PR7316.

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

13 years agoUse the "isCompare" machine instruction attribute instead of calling the
Bill Wendling [Sun, 8 Aug 2010 05:04:59 +0000 (05:04 +0000)]
Use the "isCompare" machine instruction attribute instead of calling the
relatively expensive comparison analyzer on each instruction. Also rename the
comparison analyzer method to something more in line with what it actually does.

This pass is will eventually be folded into the Machine CSE pass.

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

13 years agoDo more to modernize MergeFunctions. Refactor in response to Chris' code review.
Nick Lewycky [Sun, 8 Aug 2010 05:04:23 +0000 (05:04 +0000)]
Do more to modernize MergeFunctions. Refactor in response to Chris' code review.

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

13 years agoCMake: set configure macro LLVM_PREFIX
Oscar Fuentes [Sun, 8 Aug 2010 04:32:21 +0000 (04:32 +0000)]
CMake: set configure macro LLVM_PREFIX

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

13 years agoCMake: configure header llvm-config.h
Oscar Fuentes [Sun, 8 Aug 2010 04:17:18 +0000 (04:17 +0000)]
CMake: configure header llvm-config.h

This is the cmake equivalent of r110532, which fixed bug #7809.

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

13 years agoMost of bugpoint now only needs to know the pass names.
Rafael Espindola [Sun, 8 Aug 2010 03:55:08 +0000 (03:55 +0000)]
Most of bugpoint now only needs to know the pass names.

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

13 years agoRegenerate.
Eric Christopher [Sun, 8 Aug 2010 02:44:25 +0000 (02:44 +0000)]
Regenerate.

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

13 years agoFix PR7809 by creating a header for just llvm variables that can be
Eric Christopher [Sun, 8 Aug 2010 02:44:17 +0000 (02:44 +0000)]
Fix PR7809 by creating a header for just llvm variables that can be
included in exported interfaces.  Update a couple of exported interfaces.

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

13 years agoAdd back in r109901, which adds a Compare flag to the target instructions. It's
Bill Wendling [Sun, 8 Aug 2010 01:49:35 +0000 (01:49 +0000)]
Add back in r109901, which adds a Compare flag to the target instructions. It's
useful after all.

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

13 years agoUse %shlibext instead of .so
Rafael Espindola [Sun, 8 Aug 2010 00:55:59 +0000 (00:55 +0000)]
Use %shlibext instead of .so

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