Gabor Greif [Fri, 20 Apr 2012 11:41:38 +0000 (11:41 +0000)]
effectively back out my last change (r155190)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155195
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Fri, 20 Apr 2012 08:58:49 +0000 (08:58 +0000)]
fix obviously bogus (IMO) operand index of the load in asserts
(load only has one operand) and smuggle in some whitespace changes too
NB: I am obviously testing the water here, and believe that the unguarded
cast is still wrong, but why is the getZExtValue of the load's operand
tested against zero here? Any review is appreciated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155190
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 20 Apr 2012 07:30:17 +0000 (07:30 +0000)]
Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155188
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 20 Apr 2012 06:31:50 +0000 (06:31 +0000)]
Convert some uses of XXXRegisterClass to &XXXRegClass. No functional change since they are equivalent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155186
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 20 Apr 2012 00:38:45 +0000 (00:38 +0000)]
Revert r155136 "Defer some shl transforms to DAGCombine."
While the patch was perfect and defect free, it exposed a really nasty
bug in X86 SelectionDAG that caused an llc crash when compiling lencod.
I'll put the patch back in after fixing the SelectionDAG problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155181
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 20 Apr 2012 00:15:00 +0000 (00:15 +0000)]
ARM some VFP tblgen'erated two-operand aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155178
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 20 Apr 2012 00:14:57 +0000 (00:14 +0000)]
Tidy up. Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155177
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Apr 2012 23:59:26 +0000 (23:59 +0000)]
ARM let TableGen handle a few two-operand aliases.
No need for these explicit aliases anymore. Nuke 'em.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155173
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Apr 2012 23:59:23 +0000 (23:59 +0000)]
TableGen support for auto-generating assembly two-operand aliases.
Assembly matchers for instructions with a two-operand form. ARM is full
of these, for example:
add {Rd}, Rn, Rm // Rd is optional and is the same as Rn if omitted.
The property TwoOperandAliasConstraint on the instruction definition controls
when, and if, an alias will be formed. No explicit InstAlias definitions
are required.
rdar://
11255754
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155172
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Apr 2012 23:31:07 +0000 (23:31 +0000)]
Put this expensive check below the less expensive ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155166
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 19 Apr 2012 23:19:55 +0000 (23:19 +0000)]
When cross compiling, install a host version of llvm-config. <rdar://
11187889>
Now that llvm-config is a binary instead of a script the version installed
during a cross compiled build cannot be run from the host. When cross
compiling, install a separate llvm-config-host that will run on the host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155164
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 19 Apr 2012 21:50:46 +0000 (21:50 +0000)]
Avoid a bug in the path count computation, preventing an infinite
loop repeatedlt making the same change. This is for rdar://
11256239.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155160
91177308-0d34-0410-b5e6-
96231b3b80d8
Joel Jones [Thu, 19 Apr 2012 20:54:44 +0000 (20:54 +0000)]
Test for the the problem with xors being changed into ands
when the set bits aren't the same for both args of the xor.
This transformation is in the function TargetLowering::SimplifyDemandedBits
in the file lib/CodeGen/SelectionDAG/TargetLowering.cpp.
I have tested this test using a previous version of llc which the defect and
the a version of llc which does not. I got the expected fail and pass,
respectively.
This test goes with rdar://
11195364 and the check in with the fix: svn r154955
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155156
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 20:20:34 +0000 (20:20 +0000)]
[docs] Update HTML pages to refer to CSS in a way that works locally and with Sphinx.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155153
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 20:06:39 +0000 (20:06 +0000)]
[docs] Remove index.html, I am flipping the switch on llvm.org.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155151
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 19 Apr 2012 19:27:54 +0000 (19:27 +0000)]
Remove llvm-ld and llvm-stub (which is only used by llvm-ld).
llvm-ld is no longer useful and causes confusion and so it is being removed.
* Does not work very well on Windows because it must call a gcc like driver to
assemble and link.
* Has lots of hard coded paths which are wrong on many systems.
* Does not understand most of ld's options.
* Can be partially replaced by llvm-link | opt | {llc | as, llc -filetype=obj} |
ld, or fully replaced by Clang.
I know of no production use of llvm-ld, and hacking use should be
replaced by Clang's driver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155147
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Apr 2012 17:52:34 +0000 (17:52 +0000)]
Use a SmallVector instead of std::vector for ResOperands.
There's almost always a small number of instruction operands, so
use a SmallVector and save on heap allocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155143
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 19 Apr 2012 17:52:32 +0000 (17:52 +0000)]
Update some internal naming conventions to modern style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155142
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 19 Apr 2012 16:46:26 +0000 (16:46 +0000)]
Defer some shl transforms to DAGCombine.
The shl instruction is used to represent multiplication by a constant
power of two as well as bitwise left shifts. Some InstCombine
transformations would turn an shl instruction into a bit mask operation,
making it difficult for later analysis passes to recognize the
constsnt multiplication.
Disable those shl transformations, deferring them to DAGCombine time.
An 'shl X, C' instruction is now treated mostly the same was as 'mul X, C'.
These transformations are deferred:
(X >>? C) << C --> X & (-1 << C) (When X >> C has multiple uses)
(X >>? C1) << C2 --> X << (C2-C1) & (-1 << C2) (When C2 > C1)
(X >>? C1) << C2 --> X >>? (C1-C2) & (-1 << C2) (When C1 > C2)
The corresponding exact transformations are preserved, just like
div-exact + mul:
(X >>?,exact C) << C --> X
(X >>?,exact C1) << C2 --> X << (C2-C1)
(X >>?,exact C1) << C2 --> X >>?,exact (C1-C2)
The disabled transformations could also prevent the instruction selector
from recognizing rotate patterns in hash functions and cryptographic
primitives. I have a test case for that, but it is too fragile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155136
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 16:37:30 +0000 (16:37 +0000)]
[docs] Add back old index.html until I get llvm.org work done to support Sphinx docs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155134
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 16:31:37 +0000 (16:31 +0000)]
[docs] Convert docs index page into Sphinx.
- Work in progress, this is mostly important because it lets us incrementally migrate the remaining documentation.
- Lots of styling, editing, and integration work yet to comeā¦
- PR12589
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155133
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 16:31:19 +0000 (16:31 +0000)]
[docs] Stub out structure for Sphinx-based docs.
- Work in progress, this is just the basic structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155132
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 19 Apr 2012 16:31:08 +0000 (16:31 +0000)]
llvm-lit: Inject the lit module path at the beginning of sys.path, just in case
the user has another lit somewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155131
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 19 Apr 2012 15:16:31 +0000 (15:16 +0000)]
zap tabs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155128
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 19 Apr 2012 06:52:06 +0000 (06:52 +0000)]
Make fast isel use &XXXRegClass instead of XXXRegisterClass. Not a functional change since XXXRegisterClass is just a constant alias of &XXXRegClass, but should probably go away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155104
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 19 Apr 2012 01:34:10 +0000 (01:34 +0000)]
Allow targets to select the default scheduler by name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155090
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 19 Apr 2012 01:34:06 +0000 (01:34 +0000)]
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155089
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 19 Apr 2012 00:20:38 +0000 (00:20 +0000)]
Extract the broken part of XFAILed test into its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155081
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 23:46:25 +0000 (23:46 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155075
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 18 Apr 2012 23:12:11 +0000 (23:12 +0000)]
Fixed the llvm-mv X86 disassembler so the 'C' API gets jumps properly
symbolicated. These have and operand type of TYPE_RELv which was not handled
as isBranch in translateImmediate() in X86Disassembler.cpp. rdar://
11268426
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155074
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Apr 2012 22:24:33 +0000 (22:24 +0000)]
Don't crash on code where the user put __attribute__((constructor)) on
a function with arguments. This fixes rdar://
11265785.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155073
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 18 Apr 2012 21:38:12 +0000 (21:38 +0000)]
Add a flag to rebranch if we need to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155049
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Wed, 18 Apr 2012 21:31:19 +0000 (21:31 +0000)]
This reverts a long string of commits to the Hexagon backend. These
commits have had several major issues pointed out in review, and those
issues are not being addressed in a timely fashion. Furthermore, this
was all committed leading up to the v3.1 branch, and we don't need piles
of code with outstanding issues in the branch.
It is possible that not all of these commits were necessary to revert to
get us back to a green state, but I'm going to let the Hexagon
maintainer sort that out. They can recommit, in order, after addressing
the feedback.
Reverted commits, with some notes:
Primary commit r154616: HexagonPacketizer
- There are lots of review comments here. This is the primary reason
for reverting. In particular, it introduced large amount of warnings
due to a bad construct in tablegen.
- Follow-up commits that should be folded back into this when
reposting:
- r154622: CMake fixes
- r154660: Fix numerous build warnings in release builds.
- Please don't resubmit this until the three commits above are
included, and the issues in review addressed.
Primary commit r154695: Pass to replace transfer/copy ...
- Reverted to minimize merge conflicts. I'm not aware of specific
issues with this patch.
Primary commit r154703: New Value Jump.
- Primarily reverted due to merge conflicts.
- Follow-up commits that should be folded back into this when
reposting:
- r154703: Remove iostream usage
- r154758: Fix CMake builds
- r154759: Fix build warnings in release builds
- Please incorporate these fixes and and review feedback before
resubmitting.
Primary commit r154829: Hexagon V5 (floating point) support.
- Primarily reverted due to merge conflicts.
- Follow-up commits that should be folded back into this when
reposting:
- r154841: Remove unused variable (fixing build warnings)
There are also accompanying Clang commits that will be reverted for
consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155047
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Wed, 18 Apr 2012 20:29:17 +0000 (20:29 +0000)]
LiveIntervalUpdate validators weren't recorded after the calls to std::for_each. Turns out std::for_each doesn't update the variable passed in for the functor but instead copy constructs a new one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155041
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 20:28:55 +0000 (20:28 +0000)]
Document that StringMap iteration order is non-deterministic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155040
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 20:24:49 +0000 (20:24 +0000)]
Revert "Replace some uses of std:map<std::string,...> with StringMap."
StringMap iterators are not deterministic, and that's more important
here than speed or memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155039
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 18 Apr 2012 19:22:47 +0000 (19:22 +0000)]
tblgen: remove duplicated newlines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155038
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 19:13:59 +0000 (19:13 +0000)]
Replace some uses of std:map<std::string,...> with StringMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155037
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 18 Apr 2012 19:04:15 +0000 (19:04 +0000)]
SourceMgr: Colorize diagnostics.
Same color scheme as clang uses. The colors are only enabled if the output is a tty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155035
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 19:02:43 +0000 (19:02 +0000)]
Use SmallVector for the requirements on an InstAlias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155034
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:56:33 +0000 (18:56 +0000)]
Tidy up. Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155032
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 18 Apr 2012 18:52:10 +0000 (18:52 +0000)]
Mark instruction classes ArithLogicR, ArithLogicI and LoadUpper as isRematerializable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155031
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 18 Apr 2012 18:47:17 +0000 (18:47 +0000)]
Delete blank line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155030
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:39:31 +0000 (18:39 +0000)]
Move a few more warnings to use PrintWarning().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155027
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:39:27 +0000 (18:39 +0000)]
Tidy up. No need for a Twine here, as it's just constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155026
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:39:23 +0000 (18:39 +0000)]
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155025
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:39:19 +0000 (18:39 +0000)]
Tidy up. Add a '.' at the end of the sentence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155024
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:09:53 +0000 (18:09 +0000)]
Fix copy/paste-o.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155016
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 18:09:50 +0000 (18:09 +0000)]
Clean up warning text. Remove extraneous prefix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155015
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 17:46:41 +0000 (17:46 +0000)]
TableGen use PrintWarning rather than fprintf(stderr,...) for warnings.
That way we get source line number information from the diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155014
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 17:46:37 +0000 (17:46 +0000)]
Tidy up. Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155013
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 18 Apr 2012 17:46:31 +0000 (17:46 +0000)]
TableGen add warning diagnostic helper functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155012
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Apr 2012 17:01:26 +0000 (17:01 +0000)]
FileCheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155010
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 18 Apr 2012 16:44:44 +0000 (16:44 +0000)]
Nobody likes shifty instructions, but that was a bit strong.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155009
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Wed, 18 Apr 2012 14:18:57 +0000 (14:18 +0000)]
Added support for disassembling unpredictable swp/swpb ARM instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155004
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Wed, 18 Apr 2012 14:09:07 +0000 (14:09 +0000)]
Fix the bahavior of the disassembler when decoding unpredictable mrs instructions on ARM. Now the diasassembler emmits warnings instead of errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155002
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Wed, 18 Apr 2012 13:12:50 +0000 (13:12 +0000)]
Added support for unpredictable mcrr/mcrr2/mrrc/mrrc2 ARM instruction in the disassembler. Since the upredicability conditions are complex, C++ code was added to handle them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155001
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Wed, 18 Apr 2012 13:02:55 +0000 (13:02 +0000)]
Fixed decoding for the ARM cdp2 instruction. The restriction on the coprocessor number was removed for this instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155000
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Wed, 18 Apr 2012 12:48:43 +0000 (12:48 +0000)]
Add suport for unpredicatble cases of the cmp, tst, teq and cmnz ARM instructions in the disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154999
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 18 Apr 2012 10:37:32 +0000 (10:37 +0000)]
SmallPtrSet: Reuse DenseMapInfo's pointer hash function instead of inventing a bad one ourselves.
DenseMap's hash function uses slightly more entropy and reduces hash collisions
significantly. I also experimented with Hashing.h, but it didn't gave a lot of
improvement while being much more expensive to compute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154996
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 18 Apr 2012 08:34:12 +0000 (08:34 +0000)]
Move the JIT flags from llc to lli. These flags showed up as part of moving
backend flags in TargetOptions.h into their own class in r145714.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154993
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Wed, 18 Apr 2012 08:02:25 +0000 (08:02 +0000)]
A bit of cleanup in the TestingGuide doc - dg.exp files no longer exist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154992
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Wed, 18 Apr 2012 07:44:03 +0000 (07:44 +0000)]
Some formatting and grammar fixes in the FileCheck documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154990
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 18 Apr 2012 06:00:09 +0000 (06:00 +0000)]
Use a heavy hammer to fix PR12573.
If the loop contains invoke instructions, whose unwind edge escapes the loop,
then don't try to unswitch the loop. Doing so may cause the unwind edge to be
split, which not only is non-trivial but doesn't preserve loop simplify
information.
Fixes PR12573
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154987
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 18 Apr 2012 05:24:00 +0000 (05:24 +0000)]
Remove AVX vpermil intrinsics. I removed their uses from clang headers and builtins a while back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154985
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 18 Apr 2012 04:00:10 +0000 (04:00 +0000)]
loop-reduce: Add an early bailout to catch extremely large loops.
This introduces a threshold of 200 IV Users, which is very
conservative but should be sufficient to avoid serious compile time
sink or stack overflow. The llvm test-suite with LTO never exceeds 190
users per loop.
The bug doesn't relate to a specific type of loop. Checking in an
arbitrary giant loop as a unit test would be silly.
Fixes rdar://
11262507.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154983
91177308-0d34-0410-b5e6-
96231b3b80d8
Seth Cantrell [Wed, 18 Apr 2012 00:40:23 +0000 (00:40 +0000)]
fix error check in assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154971
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Groff [Wed, 18 Apr 2012 00:36:07 +0000 (00:36 +0000)]
FileCheckify, un-XFAIL SimplifyLibCalls/floor test
Fixes build on MSVC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154970
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Groff [Wed, 18 Apr 2012 00:07:45 +0000 (00:07 +0000)]
Move win32 SimplifyLibcall test under Transforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154967
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Tue, 17 Apr 2012 23:46:51 +0000 (23:46 +0000)]
C++ has newlines at the end of files (including include files).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154962
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Groff [Tue, 17 Apr 2012 23:05:54 +0000 (23:05 +0000)]
fix pr12559: mark unavailable win32 math libcalls
also fix SimplifyLibCalls to use TLI rather than compile-time conditionals to enable optimizations on floor, ceil, round, rint, and nearbyint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154960
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Groff [Tue, 17 Apr 2012 23:05:48 +0000 (23:05 +0000)]
allow opt to take a -mtriple option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154959
91177308-0d34-0410-b5e6-
96231b3b80d8
Joel Jones [Tue, 17 Apr 2012 22:23:10 +0000 (22:23 +0000)]
Fixes a problem in instruction selection with testing whether or not the
transformation:
(X op C1) ^ C2 --> (X op C1) & ~C2 iff (C1&C2) == C2
should be done.
This change has been tested:
Using a debug+asserts build:
on the specific test case that brought this bug to light
make check-all
lnt nt
using this clang to build a release version of clang
Using the release+asserts clang-with-clang build:
on the specific test case that brought this bug to light
make check-all
lnt nt
Checking in because Evan wants it checked in. Test case forthcoming after
scrubbing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154955
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Tue, 17 Apr 2012 21:48:36 +0000 (21:48 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154953
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Apr 2012 21:23:52 +0000 (21:23 +0000)]
Sanity check error handling for TokenAlias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154951
91177308-0d34-0410-b5e6-
96231b3b80d8
Danil Malyshev [Tue, 17 Apr 2012 20:10:16 +0000 (20:10 +0000)]
Fix incorrect call of resolveRelocation() for ARM ELF stub relocations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154948
91177308-0d34-0410-b5e6-
96231b3b80d8
Seth Cantrell [Tue, 17 Apr 2012 20:03:03 +0000 (20:03 +0000)]
platform support for counting column widths and checking isprint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154944
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 17 Apr 2012 18:18:09 +0000 (18:18 +0000)]
Delete latter half of CMakeLists.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154936
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 17 Apr 2012 18:03:21 +0000 (18:03 +0000)]
Add disassembler to MIPS.
Patch by Vladimir Medic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154935
91177308-0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 17 Apr 2012 17:21:17 +0000 (17:21 +0000)]
Goodbye, JSONParser...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154930
91177308-0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Tue, 17 Apr 2012 16:38:41 +0000 (16:38 +0000)]
Adding operator== for document_iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154927
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Apr 2012 13:55:23 +0000 (13:55 +0000)]
Force cmov on test so block placement doesn't shuffle the code around.
This made the test fail with -mcpu=generic (when building on a non-x86 host).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154926
91177308-0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Tue, 17 Apr 2012 11:29:05 +0000 (11:29 +0000)]
Remove unused CCIfSubtarget.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154921
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Tue, 17 Apr 2012 09:37:32 +0000 (09:37 +0000)]
Unbreak the MSVC build, that next() thing again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154916
91177308-0d34-0410-b5e6-
96231b3b80d8
James Molloy [Tue, 17 Apr 2012 08:18:00 +0000 (08:18 +0000)]
Fix bad EXTRACT_SUBREG in instruction selection for extending-loads on NEON.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154915
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Apr 2012 06:33:57 +0000 (06:33 +0000)]
Revert "SCEV: When expanding a GEP the final addition to the base pointer has NUW but not NSW."
This isn't right either, reverting for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154910
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Tue, 17 Apr 2012 06:20:42 +0000 (06:20 +0000)]
Test cases that assume layout should use -disable-code-place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154908
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 17 Apr 2012 05:54:54 +0000 (05:54 +0000)]
Don't decode vperm2i128 or vperm2f128 into a shuffle if bit 3 or 7 of the immediate is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154907
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 17 Apr 2012 05:11:51 +0000 (05:11 +0000)]
Download and build the compiler-rt project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154905
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Tue, 17 Apr 2012 04:15:51 +0000 (04:15 +0000)]
SlotIndexes used to store the index list in a crufty custom linked-list. I can't
for the life of me remember why I wrote it this way, but I can't see any good
reason for it now. This patch replaces the custom linked list with an ilist.
This change should preserve the existing numberings exactly, so no generated code
should change (if it does, file a bug!).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154904
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Tue, 17 Apr 2012 01:22:58 +0000 (01:22 +0000)]
Typo in an unused field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 17 Apr 2012 01:19:37 +0000 (01:19 +0000)]
Update woefully stale credits entry. Everything listed there had been
re-done by wiser souls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 17 Apr 2012 01:13:53 +0000 (01:13 +0000)]
Add a stub about the inline cost rewrite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 17 Apr 2012 01:10:35 +0000 (01:10 +0000)]
Add a stub for block placement pass. This needs fleshing out w/ details
about what folks should expect w.r.t. the new algorithm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154891
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 17 Apr 2012 01:01:55 +0000 (01:01 +0000)]
Don't tag libcxx and libcxxabi since we don't release them just yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154889
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 17 Apr 2012 00:49:27 +0000 (00:49 +0000)]
Fix ARM disassembly of VLD2 (single 2-element structure to all lanes)
instructions with writebacks. And add test a case for all opcodes handed by
DecodeVLD2DupInstruction() in ARMDisassembler.cpp .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154884
91177308-0d34-0410-b5e6-
96231b3b80d8
Preston Gurd [Tue, 17 Apr 2012 00:21:35 +0000 (00:21 +0000)]
temporarily XFAIL this test until post RA
live-ins is properly enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154882
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Apr 2012 00:01:04 +0000 (00:01 +0000)]
Tidy up. 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154881
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 16 Apr 2012 23:54:31 +0000 (23:54 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154879
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 16 Apr 2012 23:54:23 +0000 (23:54 +0000)]
Make comment here more clear.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154878
91177308-0d34-0410-b5e6-
96231b3b80d8