OSDN Git Service
Akira Hatanaka [Wed, 7 Dec 2011 22:11:43 +0000 (22:11 +0000)]
64-bit WrapperPICPat patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146086
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 7 Dec 2011 22:07:03 +0000 (22:07 +0000)]
configure: Don't warn about compiler-rt checked out into projects/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146084
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 7 Dec 2011 22:06:02 +0000 (22:06 +0000)]
Fix an assertion in the scheduler. PR11386. No testcase included because it's rather delicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146083
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 7 Dec 2011 21:54:54 +0000 (21:54 +0000)]
Define base class for WrapperPICPat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146081
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 7 Dec 2011 21:48:50 +0000 (21:48 +0000)]
Modify LowerFCOPYSIGN to handle Mips64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146080
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 7 Dec 2011 21:45:13 +0000 (21:45 +0000)]
Update bcanalyzer to handle new USELIST_BLOCK/USELIST_CODE_ENTRY.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 7 Dec 2011 21:44:12 +0000 (21:44 +0000)]
Begin adding experimental support for preserving use-list ordering of bitcode
files. First, add a new block USELIST_BLOCK to the bitcode format. This is
where USELIST_CODE_ENTRYs will be stored. The format of the USELIST_CODE_ENTRYs
have not yet been defined. Add support in the BitcodeReader for parsing the
USELIST_BLOCK.
Part of rdar://
9860654 and PR5680.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146078
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 7 Dec 2011 21:35:59 +0000 (21:35 +0000)]
These global variables aren't thread-safe, STATISTIC is. Andy Trick tells me
that he isn't using these any more, so just delete them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146076
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Dec 2011 20:54:41 +0000 (20:54 +0000)]
Have cmake build llvm-cov. Patch by arrowdodger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Wed, 7 Dec 2011 20:44:46 +0000 (20:44 +0000)]
ValueEnumerator - debug dump().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146070
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 7 Dec 2011 20:15:01 +0000 (20:15 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146063
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 7 Dec 2011 20:13:53 +0000 (20:13 +0000)]
Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146062
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 7 Dec 2011 20:10:24 +0000 (20:10 +0000)]
Fix 64-bit immediate patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146059
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 19:56:16 +0000 (19:56 +0000)]
Nuke inadvertant debugging commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146057
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 19:46:59 +0000 (19:46 +0000)]
Darwin assembler improved relocs when w/o subsections_via_symbols.
When the file isn't being built with subsections-via-symbols, symbol
differences involving non-local symbols can be resolved more aggressively.
Needed for gas compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146054
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 7 Dec 2011 19:46:10 +0000 (19:46 +0000)]
Remove unneeded semicolon.
Skip two looking up at BlockChain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146053
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 18:32:28 +0000 (18:32 +0000)]
Thumb2 alias for long-form pop and friends.
rdar://
10542474
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146046
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Dec 2011 18:18:11 +0000 (18:18 +0000)]
Also pass in correct initializer here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146044
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 18:04:19 +0000 (18:04 +0000)]
ARM support the .arm and .thumb directives for assembly mode switching.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146042
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Dec 2011 18:02:44 +0000 (18:02 +0000)]
Correct initializer in example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146041
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 17:51:15 +0000 (17:51 +0000)]
ARM NEON VCLT(register) is a pseudo aliasing VCGT(register).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146039
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 17:50:28 +0000 (17:50 +0000)]
Tidy up. Move MachO tests to MachO directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146038
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Dec 2011 17:18:31 +0000 (17:18 +0000)]
Remove unused include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146037
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Dec 2011 17:14:20 +0000 (17:14 +0000)]
When doing "opt -O2" verify the bitcode like is done for
"opt -std-compile-opts".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146036
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Wed, 7 Dec 2011 08:30:53 +0000 (08:30 +0000)]
Fix a bunch of SSE/AVX patterns to use proper memop types. In particular, not using integer loads other than v2i64/v4i64 since the others are all promoted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146031
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Dec 2011 07:58:55 +0000 (07:58 +0000)]
Adjust the stack by one pointer size for all frameless stacks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146030
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Dec 2011 07:49:49 +0000 (07:49 +0000)]
Fix off-by-one error when encoding the stack size for a frameless stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146029
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Dec 2011 07:15:52 +0000 (07:15 +0000)]
Add bundle aware API for querying instruction properties and switch the code
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 7 Dec 2011 06:44:23 +0000 (06:44 +0000)]
Adding missing anchor to DATDeltaAlgorithm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146025
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 7 Dec 2011 06:34:06 +0000 (06:34 +0000)]
make CR spill and restore 64-bit clean (no functional change), and fix some other problems found with -verify-machineinstrs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146024
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 7 Dec 2011 06:34:02 +0000 (06:34 +0000)]
make base register selection used in eliminateFrameIndex 64-bit clean
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146023
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 7 Dec 2011 06:33:57 +0000 (06:33 +0000)]
set mayStore and mayLoad on CR pseudos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146022
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 7 Dec 2011 06:32:37 +0000 (06:32 +0000)]
64-bit LR8 load should use X11 not R11
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146021
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 05:17:30 +0000 (05:17 +0000)]
Eliminate delta argument from AdjustBBOffsetsAfter.
The block offset can be computed from the previous block. That is more
robust than keeping track of a delta.
Eliminate one redundant AdjustBBOffsetsAfter call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146018
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 04:17:35 +0000 (04:17 +0000)]
Compute some alignment information for each basic block.
These fields are not used for anything yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146017
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 7 Dec 2011 03:55:52 +0000 (03:55 +0000)]
Zap unnecessary isIntDivCheap() check. PR11485. No testcase because this doesn't affect any in-tree target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146015
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 01:50:36 +0000 (01:50 +0000)]
ARM tidy up and remove no longer needed InstAlias definitions.
The TokenAlias handling of data type suffices renders these unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146010
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 01:22:52 +0000 (01:22 +0000)]
Move common expression into a method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146008
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 01:17:58 +0000 (01:17 +0000)]
ARM Implement ARM ARM Table A7-3 via TokenAlias.
Data type suffix aliasing. Previously handled via lots of instruction
aliases. Cleanup of those forthcoming.
rdar://
10435076
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146007
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 01:08:25 +0000 (01:08 +0000)]
Group BBSizes and BBOffsets into a single vector<BasicBlockInfo>.
No functional change is intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146005
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 01:08:22 +0000 (01:08 +0000)]
Add missing check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146004
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 01:07:24 +0000 (01:07 +0000)]
ARM: NEON SHLL instruction immediate operand range checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146003
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 7 Dec 2011 00:50:54 +0000 (00:50 +0000)]
Support vector bitcasts in the AsmPrinter. PR11495.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146001
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 7 Dec 2011 00:28:57 +0000 (00:28 +0000)]
Add a few moreLocal/Global R_MIPS_GOT related fixups and
make the addend fixup code a bit more generic
Patch by Jack Carter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145998
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 7 Dec 2011 00:22:07 +0000 (00:22 +0000)]
Add MachineOperand IsInternalRead flag.
This flag is used when bundling machine instructions. It indicates
whether the operand reads a value defined inside or outside its bundle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145997
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 7 Dec 2011 00:11:56 +0000 (00:11 +0000)]
Fix an optimization involving EXTRACT_SUBVECTOR in DAGCombine so it behaves correctly. PR11494.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145996
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Wed, 7 Dec 2011 00:08:00 +0000 (00:08 +0000)]
Remove unneeded type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145995
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Dec 2011 00:02:17 +0000 (00:02 +0000)]
ARM: Parameterize the immediate operand type for NEON VSHLL.
No functional change yet. Will be implementing range-checked immediates
for better diagnostics and disambiguation of instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145994
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Tue, 6 Dec 2011 23:59:33 +0000 (23:59 +0000)]
- Remove unneeded #includes.
- Remove unused types/fields.
- Add some constantness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145993
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 23:43:54 +0000 (23:43 +0000)]
Extend AsmMatcher token literal matching to allow aliasing.
For example, ARM allows:
vmov.u32 s4, #0 -> vmov.i32, #0
'u32' is a more specific designator for the 32-bit integer type specifier
and is legal for any instruction which accepts 'i32' as a datatype suffix.
We want to say,
def : TokenAlias<".u32", ".i32">;
This works by marking the match class of 'From' as a subclass of the
match class of 'To'.
rdar://
10435076
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145992
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Tue, 6 Dec 2011 23:33:07 +0000 (23:33 +0000)]
Make Release Notes HTML 4.01 Strict.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145991
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 6 Dec 2011 23:13:42 +0000 (23:13 +0000)]
llvm-build: Don't generate duplicate dependencies when LLVMBuild files define
multiple components.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145989
91177308-0d34-0410-b5e6-
96231b3b80d8
Anshuman Dasgupta [Tue, 6 Dec 2011 23:12:42 +0000 (23:12 +0000)]
Add documentation for machine-independent DFA packetizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145988
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 6 Dec 2011 22:41:31 +0000 (22:41 +0000)]
Revert r145971: "Use conservative size estimate for tBR_JTr."
This caused more offset errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145980
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Tue, 6 Dec 2011 22:31:27 +0000 (22:31 +0000)]
Add link to builtin_expect in Release Notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145979
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 22:18:12 +0000 (22:18 +0000)]
Re-enable compact unwind. It seems to work now. <rdar://problem/
10441838>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145977
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 22:14:27 +0000 (22:14 +0000)]
Explicitly check for the different SUB instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145976
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Dec 2011 22:12:01 +0000 (22:12 +0000)]
First chunk of MachineInstr bundle support.
1. Added opcode BUNDLE
2. Taught MachineInstr class to deal with bundled MIs
3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs
4. Taught MachineBasicBlock methods about bundled MIs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145975
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 22:07:02 +0000 (22:07 +0000)]
Tidy up. Fix naming convention stuff for some internal functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145974
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 6 Dec 2011 21:55:39 +0000 (21:55 +0000)]
Use conservative size estimate for tBR_JTr.
This pseudo-instruction contains a .align directive in its expansion, so
the total size may vary by 2 bytes.
It is too difficult to accurately keep track of this alignment
directive, just use the worst-case size instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145971
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 6 Dec 2011 21:55:35 +0000 (21:55 +0000)]
Remove alignment from deserted constant islands.
ARMConstantIslandPass may sometimes leave empty constant islands behind
(it really shouldn't). Remove the alignment from the empty islands so
the size calculations are still correct.
This should fix the many Thumb1 assembler errors in the nightly test
suite.
The reduced test case for this problem is way too big. That is to be
expected for ARMConstantIslandPass bugs.
<rdar://problem/
10534709>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145970
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 21:34:01 +0000 (21:34 +0000)]
Encode the total stack if there isn't a frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145969
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 21:23:42 +0000 (21:23 +0000)]
* Add a macro to remove a magic number.
* Rename variables to reflect what they're actually used for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145968
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 6 Dec 2011 21:08:39 +0000 (21:08 +0000)]
Pretty-print basic block alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145965
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Tue, 6 Dec 2011 20:56:36 +0000 (20:56 +0000)]
Add link to llvm.expect in Release Notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145964
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Tue, 6 Dec 2011 20:55:46 +0000 (20:55 +0000)]
delaying restore-cr changed assigned registers in some tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145963
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Tue, 6 Dec 2011 20:55:41 +0000 (20:55 +0000)]
add a test case that uses RESTORE_CR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145962
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Tue, 6 Dec 2011 20:55:36 +0000 (20:55 +0000)]
add RESTORE_CR and support CR unspills
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145961
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Tue, 6 Dec 2011 20:52:56 +0000 (20:52 +0000)]
remove old FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145960
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 19:16:17 +0000 (19:16 +0000)]
Check the correct value for small stack sizes. Also modify some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145954
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 19:09:06 +0000 (19:09 +0000)]
For a small sized stack, we encode that value directly with no "stack adjust" value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145952
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Tue, 6 Dec 2011 17:39:48 +0000 (17:39 +0000)]
PTX: Continue to fix up the register mess.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145947
91177308-0d34-0410-b5e6-
96231b3b80d8
Justin Holewinski [Tue, 6 Dec 2011 17:39:46 +0000 (17:39 +0000)]
PTX: Encode registers as unsigned values in the MC asm printer instead of using external symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145946
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Pop [Tue, 6 Dec 2011 17:34:16 +0000 (17:34 +0000)]
use space star instead of star space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145944
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Pop [Tue, 6 Dec 2011 17:34:11 +0000 (17:34 +0000)]
add missing point at the end of sentences
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145943
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 6 Dec 2011 16:14:29 +0000 (16:14 +0000)]
Simplify common predecessor finding.
- Walking over pred_begin/pred_end is an expensive operation.
- PHINodes contain a value for each predecessor anyway.
- While it may look like we used to save a few iterations with the set,
be aware that getIncomingValueForBlock does a linear search on
the values of the phi node.
- Another -5% on ARMDisassembler.cpp (Release build). This was the last
entry in the profile that was obviously wasting time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145937
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 6 Dec 2011 11:50:26 +0000 (11:50 +0000)]
Push StringRefs through the metadata interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145934
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 6 Dec 2011 09:31:36 +0000 (09:31 +0000)]
Add X86ISD::HADD/HSUB to getTargetNodeName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145929
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 6 Dec 2011 09:04:59 +0000 (09:04 +0000)]
Fix a bunch of SSE/AVX patterns to use v2i64/v4i64 loads since all other integer vector loads are promoted to those.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145927
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 6 Dec 2011 08:21:25 +0000 (08:21 +0000)]
Merge floating point and integer UNPCK X86ISD node types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145926
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 6 Dec 2011 06:48:26 +0000 (06:48 +0000)]
test/MC: Introduce MC/MachO/ARM, and relocate relax-thumb2-branches.s into it.
FIXME: Restore more other arch-dependent MachO tests. (eg. r126401 and r133856)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145925
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 6 Dec 2011 05:31:16 +0000 (05:31 +0000)]
Clean up some of the shuffle decoding code for UNPCK instructions. Add instruction commenting for AVX/AVX2 forms for integer UNPCKs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145924
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 05:28:00 +0000 (05:28 +0000)]
ARM mode 'mul' operand ordering tweak.
Same as r145922, just for ARM mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145923
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 05:03:45 +0000 (05:03 +0000)]
Thumb2: MUL two-operand form encoding operand order fix.
Fix the alias to encode 'mul r5, r6' as if it were 'mul r5, r6, r5' so we
match gas.
rdar://
10532439
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145922
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Tue, 6 Dec 2011 04:59:07 +0000 (04:59 +0000)]
Merge isSHUFPMask and isCommutedSHUFPMask into single function that can do both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145921
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 04:49:29 +0000 (04:49 +0000)]
Thumb2 encoding choice correction for PLD.
Using encoding T1 for offset of #0 and encoding T2 for #-0.
rdar://
10532413
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145919
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 6 Dec 2011 03:56:05 +0000 (03:56 +0000)]
test/MC: Move relax-thumb2-branches.s from MC/MachO/ to MC/ARM.
MC/MachO assumes x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145916
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Dec 2011 03:35:58 +0000 (03:35 +0000)]
Fix a subtle semantic issue with poison values that came up in
recent discussions. Poison can't make every value that depends on
it act in maximally undefined ways, because the optimizer may still
hoist code following the usual rules for undef. Make Poison invoke
its full undefined behavior only when it reaches an instruction with
externally visible side effects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145913
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 6 Dec 2011 03:34:48 +0000 (03:34 +0000)]
Use branches instead of jumps + variable cleanup. Testcase coming next. Patch by Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145912
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 6 Dec 2011 03:34:42 +0000 (03:34 +0000)]
Explicit symbols for gnu mimicing relocations. Patch by Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145911
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 6 Dec 2011 03:34:36 +0000 (03:34 +0000)]
Add register HWR29 numbering. Patch by Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145910
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Dec 2011 03:31:14 +0000 (03:31 +0000)]
Line up the comments in a code example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145908
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Dec 2011 03:18:47 +0000 (03:18 +0000)]
Rename "Trap Values" to "Poison Values", to better reflect their
purpose, and to avoid ambiguity with other uses of the word "trap"
in LangRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145907
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Tue, 6 Dec 2011 03:13:31 +0000 (03:13 +0000)]
LSR: prune undesirable formulae early.
It's always good to prune early, but formulae that are unsatisfactory
in their own right need to be removed before running any other pruning
heuristics. We easily avoid generating such formulae, but we need them
as an intermediate basis for forming other good formulae.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145906
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Dec 2011 02:49:06 +0000 (02:49 +0000)]
Mix some minor misuse of MachineBasicBlock iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145903
91177308-0d34-0410-b5e6-
96231b3b80d8
Pete Cooper [Tue, 6 Dec 2011 02:06:50 +0000 (02:06 +0000)]
Removed isWinToJoinCrossClass from the register coalescer.
The new register allocator is much more able to split back up ranges too constrained by register classes.
Fixes <rdar://problem/
10466609>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Dec 2011 02:00:33 +0000 (02:00 +0000)]
allow TinyPtrVector to implicitly convert to ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145898
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Tue, 6 Dec 2011 01:57:59 +0000 (01:57 +0000)]
Kill off the LoopSplitter. It's not being used or maintained.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145897
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Dec 2011 01:57:48 +0000 (01:57 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145896
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Dec 2011 01:53:17 +0000 (01:53 +0000)]
Tidy up value checking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145895
91177308-0d34-0410-b5e6-
96231b3b80d8