oota-llvm.git
13 years agoSimplify uses of MVT and EVT. An MVT can be compared directly
Duncan Sands [Wed, 3 Nov 2010 12:17:33 +0000 (12:17 +0000)]
Simplify uses of MVT and EVT.  An MVT can be compared directly
with a SimpleValueType, while an EVT supports equality and
inequality comparisons with SimpleValueType.

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

13 years agoFix a comment typo.
Duncan Sands [Wed, 3 Nov 2010 11:55:03 +0000 (11:55 +0000)]
Fix a comment typo.

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

13 years agoInside the calling convention logic LocVT is always a simple
Duncan Sands [Wed, 3 Nov 2010 11:35:31 +0000 (11:35 +0000)]
Inside the calling convention logic LocVT is always a simple
value type, so there is no point in passing it around using
an EVT.  Use the simpler MVT everywhere.  Rather than trying
to propagate this information maximally in all the code that
using the calling convention stuff, I chose to do a mainly
low impact change instead.

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

13 years agoIf we have an undef mask our Elt will be -1 for our access, handle
Eric Christopher [Wed, 3 Nov 2010 09:36:40 +0000 (09:36 +0000)]
If we have an undef mask our Elt will be -1 for our access, handle
this by using an undef as a pointer.

Fixes rdar://8625016

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

13 years agoFix typo, pointed out by Trevor Harmon.
Duncan Sands [Wed, 3 Nov 2010 08:16:50 +0000 (08:16 +0000)]
Fix typo, pointed out by Trevor Harmon.

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

13 years agoFix preload instruction isel. Only v7 supports pli, and only v7 with mp extension...
Evan Cheng [Wed, 3 Nov 2010 06:34:55 +0000 (06:34 +0000)]
Fix preload instruction isel. Only v7 supports pli, and only v7 with mp extension supports pldw. Add subtarget attribute to denote mp extension support and legalize illegal ones to nothing.

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

13 years agoAdd support to match @llvm.prefetch to pld / pldw / pli. rdar://8601536.
Evan Cheng [Wed, 3 Nov 2010 05:14:24 +0000 (05:14 +0000)]
Add support to match @llvm.prefetch to pld / pldw / pli. rdar://8601536.

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

13 years agoPut the PC encoding in the correct bit position.
Bill Wendling [Wed, 3 Nov 2010 04:57:44 +0000 (04:57 +0000)]
Put the PC encoding in the correct bit position.

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

13 years agoInvert these branches by default, it makes assembly comparisons a little
Eric Christopher [Wed, 3 Nov 2010 04:29:11 +0000 (04:29 +0000)]
Invert these branches by default, it makes assembly comparisons a little
easier to read.

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

13 years agoThe MC code couldn't handle ARM LDR instructions with negative offsets:
Bill Wendling [Wed, 3 Nov 2010 01:49:29 +0000 (01:49 +0000)]
The MC code couldn't handle ARM LDR instructions with negative offsets:

    vldr.64 d1, [r0, #-32]

The problem was with how the addressing mode 5 encodes the offsets. This change
makes sure that the way offsets are handled in addressing mode 5 is consistent
throughout the MC code. It involves re-refactoring the "getAddrModeImmOpValue"
method into an "Imm12" and "addressing mode 5" version. But not to worry! The
majority of the duplicated code has been unified.

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

13 years agoFix DAGCombiner to avoid going into an infinite loop when it
Dan Gohman [Wed, 3 Nov 2010 01:47:46 +0000 (01:47 +0000)]
Fix DAGCombiner to avoid going into an infinite loop when it
encounters (and:i64 (shl:i64 (load:i64), 1), 0xffffffff).
This fixes rdar://8606584.

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

13 years agoRemove unused function.
Jim Grosbach [Wed, 3 Nov 2010 01:35:15 +0000 (01:35 +0000)]
Remove unused function.

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

13 years agoRemove the no longer used 'Modifier' optional operand to the ARM
Jim Grosbach [Wed, 3 Nov 2010 01:11:15 +0000 (01:11 +0000)]
Remove the no longer used 'Modifier' optional operand to the ARM
printOperand() asm printer helper functions. rdar://8425198

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

13 years agoRemove unused function.
Jim Grosbach [Wed, 3 Nov 2010 01:07:48 +0000 (01:07 +0000)]
Remove unused function.

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

13 years agoBreak ARM addrmode4 (load/store multiple base address) into its constituent
Jim Grosbach [Wed, 3 Nov 2010 01:01:43 +0000 (01:01 +0000)]
Break ARM addrmode4 (load/store multiple base address) into its constituent
parts. Represent the operation mode as an optional operand instead.
rdar://8614429

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

13 years agoTwo sets of changes. Sorry they are intermingled.
Evan Cheng [Wed, 3 Nov 2010 00:45:17 +0000 (00:45 +0000)]
Two sets of changes. Sorry they are intermingled.

1. Fix pre-ra scheduler so it doesn't try to push instructions above calls to
   "optimize for latency". Call instructions don't have the right latency and
   this is more likely to use introduce spills.
2. Fix if-converter cost function. For ARM, it should use instruction latencies,
   not # of micro-ops since multi-latency instructions is completely executed
   even when the predicate is false. Also, some instruction will be "slower"
   when they are predicated due to the register def becoming implicit input.
   rdar://8598427

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

13 years agoModify scheduling itineraries to correct instruction latencies (not operand
Evan Cheng [Wed, 3 Nov 2010 00:40:22 +0000 (00:40 +0000)]
Modify scheduling itineraries to correct instruction latencies (not operand
latencies) of loads.

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

13 years agoFactor code out of APInt to form a isUIntN helper function.
Dan Gohman [Wed, 3 Nov 2010 00:38:40 +0000 (00:38 +0000)]
Factor code out of APInt to form a isUIntN helper function.

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

13 years agofix typo, patch by Trevor Harmon (PR8537)
Chris Lattner [Wed, 3 Nov 2010 00:30:29 +0000 (00:30 +0000)]
fix typo, patch by Trevor Harmon (PR8537)

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

13 years agoPrint an error as one big string instead of breaking it up.
Dan Gohman [Wed, 3 Nov 2010 00:24:33 +0000 (00:24 +0000)]
Print an error as one big string instead of breaking it up.

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

13 years agoDelete unused variables.
Dan Gohman [Wed, 3 Nov 2010 00:09:12 +0000 (00:09 +0000)]
Delete unused variables.

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

13 years agoRemove several unhelpful checks for isValid from sys::Path.
Dan Gohman [Wed, 3 Nov 2010 00:01:23 +0000 (00:01 +0000)]
Remove several unhelpful checks for isValid from sys::Path.

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

13 years agoMake sure we're only storing a single bit here.
Eric Christopher [Tue, 2 Nov 2010 23:59:09 +0000 (23:59 +0000)]
Make sure we're only storing a single bit here.

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

13 years agoper a suggestion by Frits van Bommel, mark all MBlaze Pseudo
Chris Lattner [Tue, 2 Nov 2010 23:57:05 +0000 (23:57 +0000)]
per a suggestion by Frits van Bommel, mark all MBlaze Pseudo
instructions as isCodeGenOnly in the parent class instead of
sprinkling it throughout the .td files.

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

13 years agochase owen.
Chris Lattner [Tue, 2 Nov 2010 23:55:24 +0000 (23:55 +0000)]
chase owen.

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

13 years agotweak this to pass.
Chris Lattner [Tue, 2 Nov 2010 23:50:17 +0000 (23:50 +0000)]
tweak this to pass.

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

13 years agoRevert r118097 to fix buildbots.
Owen Anderson [Tue, 2 Nov 2010 23:47:29 +0000 (23:47 +0000)]
Revert r118097 to fix buildbots.

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

13 years agotemporarily xfail this.
Chris Lattner [Tue, 2 Nov 2010 23:44:50 +0000 (23:44 +0000)]
temporarily xfail this.

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

13 years agoCompletely reject instructions that have an operand in their
Chris Lattner [Tue, 2 Nov 2010 23:40:41 +0000 (23:40 +0000)]
Completely reject instructions that have an operand in their
ins/outs list that isn't specified by their asmstring.  Previously
the asmmatcher would just force a 0 register into it, which clearly
isn't right.  Mark a bunch of ARM instructions that use this as
isCodeGenOnly.  Some of them are clearly pseudo instructions (like
t2TBB) others use a weird hasExtraSrcRegAllocReq thing that will
either need to be removed or the asmmatcher will need to be taught
about it (someday).

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

13 years agoTweak the opt -O2 / opt -O3 inliner thresholds to be the same as llvm-gcc and
Jakob Stoklund Olesen [Tue, 2 Nov 2010 23:40:28 +0000 (23:40 +0000)]
Tweak the opt -O2 / opt -O3 inliner thresholds to be the same as llvm-gcc and
clang are using.

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

13 years agoLet the -inline-threshold command line argument take precedence over the
Jakob Stoklund Olesen [Tue, 2 Nov 2010 23:40:26 +0000 (23:40 +0000)]
Let the -inline-threshold command line argument take precedence over the
threshold given to createFunctionInliningPass().

Both opt -O3 and clang would silently ignore the -inline-threshold option.

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

13 years agoDon't try to enforce MAXPATHLEN in sys::Path for Unix. OS's can check
Dan Gohman [Tue, 2 Nov 2010 23:19:55 +0000 (23:19 +0000)]
Don't try to enforce MAXPATHLEN in sys::Path for Unix. OS's can check
limits on their own.

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

13 years agomake MatchableInfo::Validate reject instructions (like LDR_PRE in ARM)
Chris Lattner [Tue, 2 Nov 2010 23:18:43 +0000 (23:18 +0000)]
make MatchableInfo::Validate reject instructions (like LDR_PRE in ARM)
that have complicated tying going on.

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

13 years agoSimplify.
Dan Gohman [Tue, 2 Nov 2010 23:16:26 +0000 (23:16 +0000)]
Simplify.

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

13 years agoInline asm mult-alt constraint tests.
John Thompson [Tue, 2 Nov 2010 23:01:44 +0000 (23:01 +0000)]
Inline asm mult-alt constraint tests.

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

13 years agoFix a copy+pasto.
Dan Gohman [Tue, 2 Nov 2010 22:56:51 +0000 (22:56 +0000)]
Fix a copy+pasto.

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

13 years agoAvoid manipulating paths in fixed-sized arrays.
Dan Gohman [Tue, 2 Nov 2010 22:55:34 +0000 (22:55 +0000)]
Avoid manipulating paths in fixed-sized arrays.

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

13 years agorewrite EmitConvertToMCInst to iterate over the MCInst operands,
Chris Lattner [Tue, 2 Nov 2010 22:55:03 +0000 (22:55 +0000)]
rewrite EmitConvertToMCInst to iterate over the MCInst operands,
filling them in one at a time.  Previously this iterated over the
asmoperands, which left the problem of "holes".  The new approach
simplifies things.

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

13 years agoObsessive formatting changes. No functionality impact.
Bill Wendling [Tue, 2 Nov 2010 22:53:11 +0000 (22:53 +0000)]
Obsessive formatting changes. No functionality impact.

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

13 years agoSimplify this code.
Dan Gohman [Tue, 2 Nov 2010 22:50:10 +0000 (22:50 +0000)]
Simplify this code.

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

13 years agoOmit unused parameter name.
Bill Wendling [Tue, 2 Nov 2010 22:46:04 +0000 (22:46 +0000)]
Omit unused parameter name.

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

13 years agoSimplify the EncodeInstruction method now that a lot of the special case stuff
Bill Wendling [Tue, 2 Nov 2010 22:44:12 +0000 (22:44 +0000)]
Simplify the EncodeInstruction method now that a lot of the special case stuff
is handled with the MC encoder.

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

13 years agoSince these fields are not exactly equivalent to the encoded field, rename them to...
Owen Anderson [Tue, 2 Nov 2010 22:41:42 +0000 (22:41 +0000)]
Since these fields are not exactly equivalent to the encoded field, rename them to something with semantic meaning.

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

13 years agoUse '\0' instead of 0 for nul character constants.
Dan Gohman [Tue, 2 Nov 2010 22:41:19 +0000 (22:41 +0000)]
Use '\0' instead of 0 for nul character constants.

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

13 years agoRename getAddrModeImm12OpValue to getAddrModeImmOpValue and expand it to work
Bill Wendling [Tue, 2 Nov 2010 22:31:46 +0000 (22:31 +0000)]
Rename getAddrModeImm12OpValue to getAddrModeImmOpValue and expand it to work
with immediates up to 16-bits in size. The same logic is applied to other LDR
encodings, e.g. VLDR, but which use a different immediate bit width (8-bits in
VLDR's case). Removing the "12" allows it to be more generic.

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

13 years agoRename encoder methods to match naming convention.
Owen Anderson [Tue, 2 Nov 2010 22:28:01 +0000 (22:28 +0000)]
Rename encoder methods to match naming convention.

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

13 years agomark a few codegenonly instructions.
Chris Lattner [Tue, 2 Nov 2010 22:26:33 +0000 (22:26 +0000)]
mark a few codegenonly instructions.

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

13 years agoappendSuffix: don't append a dot when the suffix is empty.
Mikhail Glushenkov [Tue, 2 Nov 2010 22:18:37 +0000 (22:18 +0000)]
appendSuffix: don't append a dot when the suffix is empty.

Additionally, move the implementation of appendSuffix to Path.cpp: it is
platform-independent.

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

13 years agoRevert r118057, this is better fixed in appendSuffix itself.
Mikhail Glushenkov [Tue, 2 Nov 2010 22:18:28 +0000 (22:18 +0000)]
Revert r118057, this is better fixed in appendSuffix itself.

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

13 years agoProvide correct encodings for the remaining vst variants that we currently generate.
Owen Anderson [Tue, 2 Nov 2010 22:18:18 +0000 (22:18 +0000)]
Provide correct encodings for the remaining vst variants that we currently generate.

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

13 years agoEliminate some temporary std::strings.
Dan Gohman [Tue, 2 Nov 2010 22:07:47 +0000 (22:07 +0000)]
Eliminate some temporary std::strings.

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

13 years agoTentative encodings for the "single element from one lane" variant of vst1.
Owen Anderson [Tue, 2 Nov 2010 21:54:45 +0000 (21:54 +0000)]
Tentative encodings for the "single element from one lane" variant of vst1.

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

13 years agomerge two large parallel loops in EmitConvertToMCInst, no change
Chris Lattner [Tue, 2 Nov 2010 21:49:44 +0000 (21:49 +0000)]
merge two large parallel loops in EmitConvertToMCInst, no change
in the generated .inc files.

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

13 years agoAdd correct encodings for basic variants for vst3 and vst4.
Owen Anderson [Tue, 2 Nov 2010 21:47:03 +0000 (21:47 +0000)]
Add correct encodings for basic variants for vst3 and vst4.

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

13 years agoDo relaxations with FT_Org fragments. Fixes the FIXME:
Rafael Espindola [Tue, 2 Nov 2010 21:38:23 +0000 (21:38 +0000)]
Do relaxations with FT_Org fragments. Fixes the FIXME:

    // FIXME: We should compute this sooner, we don't want to recurse here, and
    // we would like to be more functional.

In MCAssembler::ComputeFragmentSize.

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

13 years agoRemoved obsolete section about VC++ project files.
Oscar Fuentes [Tue, 2 Nov 2010 21:34:19 +0000 (21:34 +0000)]
Removed obsolete section about VC++ project files.

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

13 years agoAdd NEON VST1-lane instructions. Partial fix for Radar 8599955.
Bob Wilson [Tue, 2 Nov 2010 21:18:25 +0000 (21:18 +0000)]
Add NEON VST1-lane instructions.  Partial fix for Radar 8599955.

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

13 years agoAdd correct encodings for the basic variants for vst2.
Owen Anderson [Tue, 2 Nov 2010 21:16:58 +0000 (21:16 +0000)]
Add correct encodings for the basic variants for vst2.

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

13 years agoAdd correct encodings for the basic form of vst1.
Owen Anderson [Tue, 2 Nov 2010 21:06:06 +0000 (21:06 +0000)]
Add correct encodings for the basic form of vst1.

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

13 years agoMicro-optimize.
Dan Gohman [Tue, 2 Nov 2010 20:52:47 +0000 (20:52 +0000)]
Micro-optimize.

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

13 years agoDon't append a dot on platforms which don't use exe suffixes.
Dan Gohman [Tue, 2 Nov 2010 20:49:48 +0000 (20:49 +0000)]
Don't append a dot on platforms which don't use exe suffixes.

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

13 years agollvmc: Fix tool finding logic.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:47:41 +0000 (20:47 +0000)]
llvmc: Fix tool finding logic.

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

13 years agoFactor out a common encoding class for loads and stores with a lane parameter.
Owen Anderson [Tue, 2 Nov 2010 20:47:39 +0000 (20:47 +0000)]
Factor out a common encoding class for loads and stores with a lane parameter.

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

13 years agoFix DIType verifier. The element 3 is DIFile now.
Devang Patel [Tue, 2 Nov 2010 20:41:13 +0000 (20:41 +0000)]
Fix DIType verifier. The element 3 is DIFile now.

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

13 years agoAdd correct encodings for the rest of the vld instructions that we generate.
Owen Anderson [Tue, 2 Nov 2010 20:40:59 +0000 (20:40 +0000)]
Add correct encodings for the rest of the vld instructions that we generate.

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

13 years agoGetDLLSuffix: Remove the leading dot from LTDL_SHLIB_EXT.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:59 +0000 (20:32 +0000)]
GetDLLSuffix: Remove the leading dot from LTDL_SHLIB_EXT.

This allows using GetDLLSuffix() with appendSuffix().

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

13 years agoTrailing whitespace.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:52 +0000 (20:32 +0000)]
Trailing whitespace.

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

13 years agoFindExecutable: remove the executability check.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:46 +0000 (20:32 +0000)]
FindExecutable: remove the executability check.

This makes the behaviour of FindExecutable more consistent across platforms, but
I'm not very happy with the name...

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

13 years agoMake FindProgramByName return paths with slashes unmodified on Windows.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:39 +0000 (20:32 +0000)]
Make FindProgramByName return paths with slashes unmodified on Windows.

This makes its behaviour more consistent across platforms.

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

13 years ago80-col violations.
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:31 +0000 (20:32 +0000)]
80-col violations.

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

13 years agoPath: Add GetEXESuffix() to complement GetDLLSuffix().
Mikhail Glushenkov [Tue, 2 Nov 2010 20:32:26 +0000 (20:32 +0000)]
Path: Add GetEXESuffix() to complement GetDLLSuffix().

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

13 years agoFixes <rdar://problem/8612856>: During postRAsched, the antidependence
Andrew Trick [Tue, 2 Nov 2010 18:16:45 +0000 (18:16 +0000)]
Fixes <rdar://problem/8612856>: During postRAsched, the antidependence
breaker needs to check all definitions of the antidepenent register to
avoid multiple defs of the same new register.

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

13 years agoa bunch of random cleanup, move a helper to CGT where it belongs.
Chris Lattner [Tue, 2 Nov 2010 18:10:06 +0000 (18:10 +0000)]
a bunch of random cleanup, move a helper to CGT where it belongs.

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

13 years agoApply patch for use-after-free in InlineAsm constant handling,
Dale Johannesen [Tue, 2 Nov 2010 17:59:27 +0000 (17:59 +0000)]
Apply patch for use-after-free in InlineAsm constant handling,
PR 8522 / 8616046.  Test reduction, analysis and patch by Tim Deegan!
(However, review by someone who understands the classes here better
is welcome.  John Krum will return!)

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

13 years agoSort bit assignments. Cosmetic change only.
Jim Grosbach [Tue, 2 Nov 2010 17:59:04 +0000 (17:59 +0000)]
Sort bit assignments. Cosmetic change only.

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

13 years agoSimplify.
Devang Patel [Tue, 2 Nov 2010 17:37:00 +0000 (17:37 +0000)]
Simplify.

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

13 years agoRevert r114340 (improvements in Darwin function prologue/epilogue), as it broke
Jim Grosbach [Tue, 2 Nov 2010 17:35:25 +0000 (17:35 +0000)]
Revert r114340 (improvements in Darwin function prologue/epilogue), as it broke
assumptions about stack layout. Specifically, LR must be saved next to FP.

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

13 years agoadd and update comments.
Chris Lattner [Tue, 2 Nov 2010 17:34:28 +0000 (17:34 +0000)]
add and update comments.

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

13 years agorefactor/cleanup MatchableInfo by eliminating the Tokens array,
Chris Lattner [Tue, 2 Nov 2010 17:30:52 +0000 (17:30 +0000)]
refactor/cleanup MatchableInfo by eliminating the Tokens array,
merging it into a Token field in Operand, and moving the first
token to an explicit mnemonic field.  These were parallel
arrays before (except for the mnemonic) which kept confusing me.

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

13 years agoAdd support for expressions in .sleb/.uleb directives.
Rafael Espindola [Tue, 2 Nov 2010 17:22:24 +0000 (17:22 +0000)]
Add support for expressions in .sleb/.uleb directives.

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

13 years agoIf value map does not have register for an argument then try to find frame index...
Devang Patel [Tue, 2 Nov 2010 17:19:03 +0000 (17:19 +0000)]
If value map does not have register for an argument then try to find frame index before giving up.

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

13 years agoUse frameindex, if available, as a last resort to emit debug info for a parameter.
Devang Patel [Tue, 2 Nov 2010 17:01:30 +0000 (17:01 +0000)]
Use frameindex, if available, as a last resort to emit debug info for a parameter.

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

13 years agoFix comment typo.
Duncan Sands [Tue, 2 Nov 2010 15:12:48 +0000 (15:12 +0000)]
Fix comment typo.

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

13 years agoAdd some comments explaining what MVT and EVT are, and how they differ.
Duncan Sands [Tue, 2 Nov 2010 13:57:09 +0000 (13:57 +0000)]
Add some comments explaining what MVT and EVT are, and how they differ.

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

13 years agoRemove trailing whitespace.
Duncan Sands [Tue, 2 Nov 2010 13:43:07 +0000 (13:43 +0000)]
Remove trailing whitespace.

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

13 years agoAdd correct NEON encodings for vld2, vld3, and vld4 basic variants.
Owen Anderson [Tue, 2 Nov 2010 01:24:55 +0000 (01:24 +0000)]
Add correct NEON encodings for vld2, vld3, and vld4 basic variants.

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

13 years agoRemove an assert - it's possible to be hit, and we just want to avoid
Eric Christopher [Tue, 2 Nov 2010 01:24:49 +0000 (01:24 +0000)]
Remove an assert - it's possible to be hit, and we just want to avoid
handling those cases for now.

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

13 years agoWhitespeace
Eric Christopher [Tue, 2 Nov 2010 01:22:45 +0000 (01:22 +0000)]
Whitespeace

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

13 years agoNo really, no thumb1 for arm fast isel. Also add an informative comment as
Eric Christopher [Tue, 2 Nov 2010 01:21:28 +0000 (01:21 +0000)]
No really, no thumb1 for arm fast isel. Also add an informative comment as
to what someone would need to do to support thumb1.

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

13 years agorename operands -> asmoperands to be more descriptive.
Chris Lattner [Tue, 2 Nov 2010 01:03:43 +0000 (01:03 +0000)]
rename operands -> asmoperands to be more descriptive.

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

13 years agoDon't try to split weird critical edges that really aren't:
Jakob Stoklund Olesen [Tue, 2 Nov 2010 00:58:37 +0000 (00:58 +0000)]
Don't try to split weird critical edges that really aren't:

BB#1: derived from LLVM BB %bb.nph28
    Live Ins: %AL
    Predecessors according to CFG: BB#0
TEST8rr %reg16384<kill>, %reg16384, %EFLAGS<imp-def>; GR8:%reg16384
JNE_4 <BB#2>, %EFLAGS<imp-use,kill>
JMP_4 <BB#2>
    Successors according to CFG: BB#2 BB#2

These double CFG edges only ever occur in bugpoint-generated code, so there is
no need to attempt something clever.

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

13 years agoAttempt to provide correct encodings for a number of other vld1 variants, which we...
Owen Anderson [Tue, 2 Nov 2010 00:24:52 +0000 (00:24 +0000)]
Attempt to provide correct encodings for a number of other vld1 variants, which we can't test
since we can neither generate nor parse them at the moment.

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

13 years agoTidy up.
Jim Grosbach [Tue, 2 Nov 2010 00:16:39 +0000 (00:16 +0000)]
Tidy up.

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

13 years agoAdd aesthetic break.
Owen Anderson [Tue, 2 Nov 2010 00:14:00 +0000 (00:14 +0000)]
Add aesthetic break.

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

13 years agoTweak to fix spelling and grammar in comment.
Jim Grosbach [Tue, 2 Nov 2010 00:13:15 +0000 (00:13 +0000)]
Tweak to fix spelling and grammar in comment.

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

13 years agoAdd correct NEON encodings for the "multiple single elements" form of vld.
Owen Anderson [Tue, 2 Nov 2010 00:05:05 +0000 (00:05 +0000)]
Add correct NEON encodings for the "multiple single elements" form of vld.

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

13 years agoMachineLICM should not claim to be preserving the CFG when it can split critical
Jakob Stoklund Olesen [Mon, 1 Nov 2010 23:59:55 +0000 (23:59 +0000)]
MachineLICM should not claim to be preserving the CFG when it can split critical
edges on demand.

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

13 years agoBe more precise about verifying missing kill flags.
Jakob Stoklund Olesen [Mon, 1 Nov 2010 23:59:53 +0000 (23:59 +0000)]
Be more precise about verifying missing kill flags.

It is legal for an instruction to have two operands using the same register,
only one a kill. This is interpreted as a kill.

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

13 years agoWhen inserting copies during splitting, always use the parent register as the
Jakob Stoklund Olesen [Mon, 1 Nov 2010 23:59:48 +0000 (23:59 +0000)]
When inserting copies during splitting, always use the parent register as the
source, and let rewrite() clean it up.

This way, kill flags on the inserted copies are fixed as well during rewrite().

We can't just assume that all the copies we insert are going to be kills since
critical edges into loop headers sometimes require both source and dest to be
live out of a block.

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

13 years agofix computation of ambiguous instructions to not ignore the mnemonic.
Chris Lattner [Mon, 1 Nov 2010 23:57:23 +0000 (23:57 +0000)]
fix computation of ambiguous instructions to not ignore the mnemonic.
FWIW, X86 has 254 ambiguous instructions.

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