oota-llvm.git
13 years agoFix Whitespace.
Michael J. Spencer [Wed, 10 Nov 2010 15:06:00 +0000 (15:06 +0000)]
Fix Whitespace.

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

13 years agoSystem/Path: Update comments to match code.
Michael J. Spencer [Wed, 10 Nov 2010 15:05:50 +0000 (15:05 +0000)]
System/Path: Update comments to match code.

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

13 years agoSystem/Win32/Path: Implement isSymLink.
Michael J. Spencer [Wed, 10 Nov 2010 15:05:39 +0000 (15:05 +0000)]
System/Win32/Path: Implement isSymLink.

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

13 years agoSimplify binary operations where one operand is a select instruction.
Duncan Sands [Wed, 10 Nov 2010 13:00:08 +0000 (13:00 +0000)]
Simplify binary operations where one operand is a select instruction.
The simplifications performed here never create new instructions, they
only return existing instructions (or a constant), and so are always a
win.  In theory they should transform (for example)
  %z = and i32 %x, %y
  %s = select i1 %cond, i32 %y, i32 %z
  %r = and i32 %x, %s
into
  %r = and i32 %x, y
but in practice they get into a fight with instcombine, and lose.
Unfortunately instcombine does a poor job in this case.  Nonetheless
I'm committing this transform to make it easier to discuss what to
do to make peace with instcombine.

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

13 years agoWin32/Process.inc: [PR8527] Process::FileDescriptorIsDisplayed(fd) should not check...
NAKAMURA Takumi [Wed, 10 Nov 2010 08:37:47 +0000 (08:37 +0000)]
Win32/Process.inc: [PR8527] Process::FileDescriptorIsDisplayed(fd) should not check by FILE_TYPE_CHAR. It must be better to check it with Console API.

The special file "NUL" is FILE_TYPE_CHAR with GetFileType(h). It was treated as display device and discarding output to NUL had failed. (eg. opt -o nul)

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

13 years agoThere is no EndPtr anymore - reinterpret the original comment in terms
Duncan Sands [Wed, 10 Nov 2010 07:46:36 +0000 (07:46 +0000)]
There is no EndPtr anymore - reinterpret the original comment in terms
of InputData.

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

13 years agoUpdate ARMConstantPoolValue to not use a modifier string. Use an explicit
Jim Grosbach [Wed, 10 Nov 2010 03:26:07 +0000 (03:26 +0000)]
Update ARMConstantPoolValue to not use a modifier string. Use an explicit
VariantKind marker to indicate the additional information necessary. Update
MC to handle the new Kinds. rdar://8647623

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

13 years agoAdd a test to the previous added clo instruction. Patch by Akira again
Bruno Cardoso Lopes [Wed, 10 Nov 2010 02:22:44 +0000 (02:22 +0000)]
Add a test to the previous added clo instruction. Patch by Akira again

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

13 years agoAdd clo instruction. Patch by Akira Hatanaka (ahatanaka@mips.com) with some minor...
Bruno Cardoso Lopes [Wed, 10 Nov 2010 02:13:22 +0000 (02:13 +0000)]
Add clo instruction. Patch by Akira Hatanaka (ahatanaka@mips.com) with some minor tweaks

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

13 years agoWhen checking that the necessary bits are zero in
Dale Johannesen [Wed, 10 Nov 2010 01:30:56 +0000 (01:30 +0000)]
When checking that the necessary bits are zero in
order to reduce ((x<<30)>>24) to x<<6, check the
correct bits.  PR 8547.

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

13 years agoEmit a '!' if this is a "writeback" register or memory address.
Bill Wendling [Wed, 10 Nov 2010 01:07:54 +0000 (01:07 +0000)]
Emit a '!' if this is a "writeback" register or memory address.

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

13 years agoSimplify the LiveRangeEdit::canRematerializeAt() interface a bit.
Jakob Stoklund Olesen [Wed, 10 Nov 2010 01:05:12 +0000 (01:05 +0000)]
Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.

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

13 years agoMake ModRefBehavior a lattice. Use this to clean up AliasAnalysis
Dan Gohman [Wed, 10 Nov 2010 01:02:18 +0000 (01:02 +0000)]
Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis
chaining and simplify FunctionAttrs' GetModRefBehavior logic.

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

13 years agoRename a parameter to avoid confusion with a local variable
Matt Beaumont-Gay [Wed, 10 Nov 2010 00:08:58 +0000 (00:08 +0000)]
Rename a parameter to avoid confusion with a local variable

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

13 years agoEmit the warning about the register list not being in ascending order only once.
Bill Wendling [Tue, 9 Nov 2010 23:45:59 +0000 (23:45 +0000)]
Emit the warning about the register list not being in ascending order only once.

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

13 years agoJim's recent fixes 118600, 118587, 118513 have made these work.
Dale Johannesen [Tue, 9 Nov 2010 23:43:34 +0000 (23:43 +0000)]
Jim's recent fixes 118600, 118587, 118513 have made these work.

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

13 years agoFixed version of 118639 with an extra assert to catch similar problems
Rafael Espindola [Tue, 9 Nov 2010 23:42:07 +0000 (23:42 +0000)]
Fixed version of 118639 with an extra assert to catch similar problems
earlier. Implicit bool -> int conversions are evil!

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

13 years agos/std::vector/SmallVector/
Bill Wendling [Tue, 9 Nov 2010 23:28:44 +0000 (23:28 +0000)]
s/std::vector/SmallVector/

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

13 years agoRevert previous patch. Missed a case.
Rafael Espindola [Tue, 9 Nov 2010 22:54:38 +0000 (22:54 +0000)]
Revert previous patch. Missed a case.

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

13 years agoDelete the allocated vector.
Bill Wendling [Tue, 9 Nov 2010 22:51:42 +0000 (22:51 +0000)]
Delete the allocated vector.

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

13 years agoDefine the subtarget feature for the architecture version,
Bob Wilson [Tue, 9 Nov 2010 22:50:47 +0000 (22:50 +0000)]
Define the subtarget feature for the architecture version,
as derived from the target triple.  This is important for enabling
features that are implied based on the architecture version.

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

13 years agoDo not use MEMBARRIER_MCR for any Thumb code.
Bob Wilson [Tue, 9 Nov 2010 22:50:44 +0000 (22:50 +0000)]
Do not use MEMBARRIER_MCR for any Thumb code.
It is only supported for ARM code.  Normally Thumb2 code would use DMB instead,
but depending on how the compiler is invoked (e.g., -mattr=-db) that might be
disabled.  This prevents a "cannot select MEMBARRIER_MCR" error in that
situation.  Radar 8644195

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

13 years agoTwo types of instructions have register lists:
Bill Wendling [Tue, 9 Nov 2010 22:44:22 +0000 (22:44 +0000)]
Two types of instructions have register lists:

* LDM, et al, uses a bit mask to indicate the register list.
* VLDM, et al, uses a base register plus number.

The LDM instructions may be non-contiguous, but the VLDM ones must be
contiguous. Those are semantic checks that should be done later in the
compiler. Also postpone the creation of the bit mask until it's needed.

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

13 years agoRemove IsExplicit. It was always false.
Rafael Espindola [Tue, 9 Nov 2010 22:37:44 +0000 (22:37 +0000)]
Remove IsExplicit. It was always false.

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

13 years agoChange the ARMConstantPoolValue modifier string to an enumeration. This will
Jim Grosbach [Tue, 9 Nov 2010 21:36:17 +0000 (21:36 +0000)]
Change the ARMConstantPoolValue modifier string to an enumeration. This will
help in MC'izing the references that use them.

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

13 years agoAdds RABasic verification and tracing.
Andrew Trick [Tue, 9 Nov 2010 21:04:34 +0000 (21:04 +0000)]
Adds RABasic verification and tracing.
(retry now that the windows build is green)

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

13 years agoConvert comments to doxygen syntax.
Dan Gohman [Tue, 9 Nov 2010 20:33:57 +0000 (20:33 +0000)]
Convert comments to doxygen syntax.

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

13 years agoTeach FunctionAttrs about the VAArg instruction.
Dan Gohman [Tue, 9 Nov 2010 20:17:38 +0000 (20:17 +0000)]
Teach FunctionAttrs about the VAArg instruction.

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

13 years agoUse the AliasAnalysis interface to determine how a Function accesses
Dan Gohman [Tue, 9 Nov 2010 20:13:27 +0000 (20:13 +0000)]
Use the AliasAnalysis interface to determine how a Function accesses
memory. This isn't a real improvement with present day AliasAnalysis
implementations; it's mainly for consistency.

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

13 years agoVAArg doesn't capture its operand.
Dan Gohman [Tue, 9 Nov 2010 20:09:35 +0000 (20:09 +0000)]
VAArg doesn't capture its operand.

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

13 years agoTranslate IntrReadArgMem to AccessesArgumentsReadonly.
Dan Gohman [Tue, 9 Nov 2010 20:07:20 +0000 (20:07 +0000)]
Translate IntrReadArgMem to AccessesArgumentsReadonly.

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

13 years agoTeach AliasAnalysis about AccessesArgumentsReadonly.
Dan Gohman [Tue, 9 Nov 2010 20:06:55 +0000 (20:06 +0000)]
Teach AliasAnalysis about AccessesArgumentsReadonly.

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

13 years agoTeach LICM and AliasSetTracker about AccessesArgumentsReadonly.
Dan Gohman [Tue, 9 Nov 2010 19:58:21 +0000 (19:58 +0000)]
Teach LICM and AliasSetTracker about AccessesArgumentsReadonly.

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

13 years agoTeach FunctionAttrs about AccessesArgumentsReadonly.
Dan Gohman [Tue, 9 Nov 2010 19:56:27 +0000 (19:56 +0000)]
Teach FunctionAttrs about AccessesArgumentsReadonly.

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

13 years agoAdd a trivial virtual dtor to AbstractRegisterDescription to appease
Matt Beaumont-Gay [Tue, 9 Nov 2010 19:56:25 +0000 (19:56 +0000)]
Add a trivial virtual dtor to AbstractRegisterDescription to appease
-Wnon-virtual-dtor.

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

13 years agoAccessesArgumentsReadonly is read-only.
Dan Gohman [Tue, 9 Nov 2010 19:50:00 +0000 (19:50 +0000)]
AccessesArgumentsReadonly is read-only.

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

13 years agoAdd a AccessesArgumentsReadonly ModRefBehavior value, so that the intrinsic
Dan Gohman [Tue, 9 Nov 2010 19:48:55 +0000 (19:48 +0000)]
Add a AccessesArgumentsReadonly ModRefBehavior value, so that the intrinsic
property IntrReadArgMem can be modeled.

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

13 years agoReverting r118604. Windows build broke.
Andrew Trick [Tue, 9 Nov 2010 19:47:51 +0000 (19:47 +0000)]
Reverting r118604. Windows build broke.

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

13 years agoFactor out the logic for onlyReadsMemory into a helper function.
Dan Gohman [Tue, 9 Nov 2010 19:43:24 +0000 (19:43 +0000)]
Factor out the logic for onlyReadsMemory into a helper function.

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

13 years agoDelete AccessesArgumentsAndGlobals, which was unused.
Dan Gohman [Tue, 9 Nov 2010 19:41:37 +0000 (19:41 +0000)]
Delete AccessesArgumentsAndGlobals, which was unused.

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

13 years agoHandle ARM constant pool values that need an explicit reference to the '.'
Jim Grosbach [Tue, 9 Nov 2010 19:40:22 +0000 (19:40 +0000)]
Handle ARM constant pool values that need an explicit reference to the '.'
pseudo-label. (TLS stuff).

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

13 years agoadd a case we fail to devirt.
Chris Lattner [Tue, 9 Nov 2010 19:37:28 +0000 (19:37 +0000)]
add a case we fail to devirt.

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

13 years agoTrailing whitespace.
Jim Grosbach [Tue, 9 Nov 2010 19:22:26 +0000 (19:22 +0000)]
Trailing whitespace.

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

13 years agoAdds RABasic verification and tracing.
Andrew Trick [Tue, 9 Nov 2010 19:01:17 +0000 (19:01 +0000)]
Adds RABasic verification and tracing.

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

13 years agoFurther MCize ARM constant pool values. This allows basic PIC references for
Jim Grosbach [Tue, 9 Nov 2010 18:45:04 +0000 (18:45 +0000)]
Further MCize ARM constant pool values. This allows basic PIC references for
object file emission.

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

13 years agoAdd encoding of Rt to ARM LDR/STR w/ reg+reg offset encoding.
Jim Grosbach [Tue, 9 Nov 2010 18:43:54 +0000 (18:43 +0000)]
Add encoding of Rt to ARM LDR/STR w/ reg+reg offset encoding.

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

13 years agoLast try to get this reference counting right, I swear.
Owen Anderson [Tue, 9 Nov 2010 17:47:10 +0000 (17:47 +0000)]
Last try to get this reference counting right, I swear.

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

13 years agoReally fix the leak in the attributes list. Thanks to Benjamin Kramer for pointing...
Owen Anderson [Tue, 9 Nov 2010 17:46:38 +0000 (17:46 +0000)]
Really fix the leak in the attributes list.  Thanks to Benjamin Kramer for pointing out how I was being stupid.

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

13 years agoFor ARM load/store instructions, encode [reg+reg] with no shifter immediate as
Jim Grosbach [Tue, 9 Nov 2010 17:38:15 +0000 (17:38 +0000)]
For ARM load/store instructions, encode [reg+reg] with no shifter immediate as
a left shift by zero.

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

13 years agoARM .word data fixups don't need an adjustment.
Jim Grosbach [Tue, 9 Nov 2010 17:36:59 +0000 (17:36 +0000)]
ARM .word data fixups don't need an adjustment.

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

13 years agoFactorize code, no functionality change.
Duncan Sands [Tue, 9 Nov 2010 17:25:51 +0000 (17:25 +0000)]
Factorize code, no functionality change.

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

13 years agoFix trailing whitespace and style, no functionality change
Bruno Cardoso Lopes [Tue, 9 Nov 2010 17:25:34 +0000 (17:25 +0000)]
Fix trailing whitespace and style, no functionality change

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

13 years agoAdd encoder method for ARM load/store shifted register offset operands.
Jim Grosbach [Tue, 9 Nov 2010 17:20:53 +0000 (17:20 +0000)]
Add encoder method for ARM load/store shifted register offset operands.

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

13 years agoTestcase for PR8211 (llc crash at -O0).
Duncan Sands [Tue, 9 Nov 2010 16:22:27 +0000 (16:22 +0000)]
Testcase for PR8211 (llc crash at -O0).

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

13 years agoSystem/Path/Windows: Implement GetLLVMDefaultConfigDir.
Michael J. Spencer [Tue, 9 Nov 2010 15:11:42 +0000 (15:11 +0000)]
System/Path/Windows: Implement GetLLVMDefaultConfigDir.

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

13 years agoSystem/Path/Windows: Generalize GetUserHomeDirectory.
Michael J. Spencer [Tue, 9 Nov 2010 15:11:31 +0000 (15:11 +0000)]
System/Path/Windows: Generalize GetUserHomeDirectory.

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

13 years agoSystem/Path/Windows: Make GetSystemLibraryPaths more generic.
Michael J. Spencer [Tue, 9 Nov 2010 15:11:19 +0000 (15:11 +0000)]
System/Path/Windows: Make GetSystemLibraryPaths more generic.

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

13 years agoSystem/Windows: Reduce dependencies.
Michael J. Spencer [Tue, 9 Nov 2010 15:11:07 +0000 (15:11 +0000)]
System/Windows: Reduce dependencies.

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

13 years agoSystem/Windows: Use normalized case and include method.
Michael J. Spencer [Tue, 9 Nov 2010 15:10:56 +0000 (15:10 +0000)]
System/Windows: Use normalized case and include method.

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

13 years agoSystem/Path/Windows: Change GetRootDirectory to return file:/// instead of C:/.
Michael J. Spencer [Tue, 9 Nov 2010 15:10:45 +0000 (15:10 +0000)]
System/Path/Windows: Change GetRootDirectory to return file:/// instead of C:/.

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

13 years agoUpdate comment.
Michael J. Spencer [Tue, 9 Nov 2010 15:10:29 +0000 (15:10 +0000)]
Update comment.

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

13 years agoFix leak in my recent fix for PR8442.
Owen Anderson [Tue, 9 Nov 2010 05:17:47 +0000 (05:17 +0000)]
Fix leak in my recent fix for PR8442.

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

13 years agoFix DAGCombiner to avoid folding a sext-in-reg or similar through a shl
Dan Gohman [Tue, 9 Nov 2010 01:54:35 +0000 (01:54 +0000)]
Fix DAGCombiner to avoid folding a sext-in-reg or similar through a shl
in order to fold it into a load.

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

13 years agoDelete an extraneous svn:executable property.
Dan Gohman [Tue, 9 Nov 2010 01:51:06 +0000 (01:51 +0000)]
Delete an extraneous svn:executable property.

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

13 years agoAdd support for a few simple fixups to the ARM Darwin asm backend. This allows
Jim Grosbach [Tue, 9 Nov 2010 01:37:15 +0000 (01:37 +0000)]
Add support for a few simple fixups to the ARM Darwin asm backend. This allows
constant pool references and global variable refernces to resolve properly
for object file generation. For example,

int x;
void foo(unsigned a, unsigned *p) {
  p[a] = x;
}

can now be successfully compiled directly to an (ARM mode) object file.

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

13 years agoFix an inline asm pasto from 117667; was preventing
Dale Johannesen [Tue, 9 Nov 2010 01:15:07 +0000 (01:15 +0000)]
Fix an inline asm pasto from 117667; was preventing
{i64, i64} from matching i128.

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

13 years agoFix some places where error messages were being swallowed.
Dan Gohman [Tue, 9 Nov 2010 01:13:31 +0000 (01:13 +0000)]
Fix some places where error messages were being swallowed.

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

13 years agoFix PR8441, a thread unsafe static variable in our dynamic library loading facilities.
Owen Anderson [Tue, 9 Nov 2010 00:36:06 +0000 (00:36 +0000)]
Fix PR8441, a thread unsafe static variable in our dynamic library loading facilities.

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

13 years agoRevert r118457 and r118458. These won't hold for GPRs.
Bill Wendling [Tue, 9 Nov 2010 00:30:18 +0000 (00:30 +0000)]
Revert r118457 and r118458. These won't hold for GPRs.

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

13 years agoFix PR8441, a race condition in the static attributes list. While the reference...
Owen Anderson [Tue, 9 Nov 2010 00:27:03 +0000 (00:27 +0000)]
Fix PR8441, a race condition in the static attributes list.  While the reference counting was itself threadsafe,
the implicit removal of each object from the global list was not.  Make this operation atomic.

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

13 years agoGet the register and count from the register list operands.
Bill Wendling [Mon, 8 Nov 2010 23:51:20 +0000 (23:51 +0000)]
Get the register and count from the register list operands.

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

13 years agoreglist has two operands.
Bill Wendling [Mon, 8 Nov 2010 23:50:20 +0000 (23:50 +0000)]
reglist has two operands.

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

13 years agoThe "addRegListOperands()" function returns the start register and the total
Bill Wendling [Mon, 8 Nov 2010 23:49:57 +0000 (23:49 +0000)]
The "addRegListOperands()" function returns the start register and the total
number of registers in the list.

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

13 years agoAdd some comments noting some correspondences between ModRefBehavior
Dan Gohman [Mon, 8 Nov 2010 23:46:02 +0000 (23:46 +0000)]
Add some comments noting some correspondences between ModRefBehavior
values, LLVM IR function attributes, and LLVM intrinsic attributes.

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

13 years agoAdd support for ARM's specialized vector-compare-against-zero instructions.
Owen Anderson [Mon, 8 Nov 2010 23:21:22 +0000 (23:21 +0000)]
Add support for ARM's specialized vector-compare-against-zero instructions.

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

13 years agoInitial support for Mips32 and Mips32r2. Patch contributed by Akira Hatanaka (ahatana...
Bruno Cardoso Lopes [Mon, 8 Nov 2010 21:42:32 +0000 (21:42 +0000)]
Initial support for Mips32 and Mips32r2. Patch contributed by Akira Hatanaka (ahatanaka@mips.com)

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

13 years agoAdd "write back" bit encoding.
Bill Wendling [Mon, 8 Nov 2010 21:28:03 +0000 (21:28 +0000)]
Add "write back" bit encoding.

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

13 years agoFix PR8211
Bruno Cardoso Lopes [Mon, 8 Nov 2010 21:24:59 +0000 (21:24 +0000)]
Fix PR8211

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

13 years agoRemove contributor names as per coding statndard.
Michael J. Spencer [Mon, 8 Nov 2010 20:56:32 +0000 (20:56 +0000)]
Remove contributor names as per coding statndard.

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

13 years agoAdd an additional test for icmp of select folding.
Duncan Sands [Mon, 8 Nov 2010 20:56:28 +0000 (20:56 +0000)]
Add an additional test for icmp of select folding.

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

13 years agoRe-introduce the MaxLookup limit to BasicAliasAnalysis'
Dan Gohman [Mon, 8 Nov 2010 20:26:19 +0000 (20:26 +0000)]
Re-introduce the MaxLookup limit to BasicAliasAnalysis'
pointsToConstantMemory code to guard against possible
compile time slowdowns.

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

13 years agoAdd a testcase for a call which BasicAA says only accesses memory through
Dan Gohman [Mon, 8 Nov 2010 20:20:11 +0000 (20:20 +0000)]
Add a testcase for a call which BasicAA says only accesses memory through
its arguments and which TBAA says doesn't write to memory.

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

13 years agoAdding working version of assembly parser for the MBlaze backend
Wesley Peck [Mon, 8 Nov 2010 19:40:01 +0000 (19:40 +0000)]
Adding working version of assembly parser for the MBlaze backend
Major cleanup of whitespace and formatting issues in MBlaze backend

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

13 years agoFix a thinko that Duncan spotted.
Dan Gohman [Mon, 8 Nov 2010 19:24:47 +0000 (19:24 +0000)]
Fix a thinko that Duncan spotted.

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

13 years agoRevert 118422 in search of bot verdancy.
Dale Johannesen [Mon, 8 Nov 2010 19:17:22 +0000 (19:17 +0000)]
Revert 118422 in search of bot verdancy.

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

13 years agoDocument parameters. Fix typos.
Devang Patel [Mon, 8 Nov 2010 18:28:34 +0000 (18:28 +0000)]
Document parameters. Fix typos.

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

13 years agoAdds support for spilling previously allocated live intervals to
Andrew Trick [Mon, 8 Nov 2010 18:02:08 +0000 (18:02 +0000)]
Adds support for spilling previously allocated live intervals to
handle cases in which a register is unavailable for spill code.
Adds LiveIntervalUnion::extract. While processing interferences on a
live virtual register, reuses the same Query object for each
physcial reg.

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

13 years agoSupport -mcpu=cortex-a8 in ARM attributes - Has Fixme. 1 Test modified.
Jason W Kim [Mon, 8 Nov 2010 17:58:07 +0000 (17:58 +0000)]
Support -mcpu=cortex-a8 in ARM attributes - Has Fixme. 1 Test modified.

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

13 years agoFix typo.
Daniel Dunbar [Mon, 8 Nov 2010 17:53:02 +0000 (17:53 +0000)]
Fix typo.

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

13 years agoMake FunctionAttrs TBAA-aware.
Dan Gohman [Mon, 8 Nov 2010 17:12:04 +0000 (17:12 +0000)]
Make FunctionAttrs TBAA-aware.

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

13 years agoImplement getModRefBehavior for TypeBasedAliasAnalysis.
Dan Gohman [Mon, 8 Nov 2010 17:10:22 +0000 (17:10 +0000)]
Implement getModRefBehavior for TypeBasedAliasAnalysis.

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

13 years agoComplete listing of ARM/MC/ELF relocation enums
Jason W Kim [Mon, 8 Nov 2010 16:47:27 +0000 (16:47 +0000)]
Complete listing of ARM/MC/ELF relocation enums

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

13 years agoExtend the AliasAnalysis::pointsToConstantMemory interface to allow it
Dan Gohman [Mon, 8 Nov 2010 16:45:26 +0000 (16:45 +0000)]
Extend the AliasAnalysis::pointsToConstantMemory interface to allow it
to optionally look for constant or local (alloca) memory.

Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select
and Phi nodes, and to support looking for local memory.

Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that
AliasAnalysis knows all the tricks that it knew.

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

13 years agoDelete getIntrinsicModRefBehavior. Clients can just use the normal
Dan Gohman [Mon, 8 Nov 2010 16:11:19 +0000 (16:11 +0000)]
Delete getIntrinsicModRefBehavior. Clients can just use the normal
getModRefBehavior now, since it now understands intrinsics as well
as normal functions.

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

13 years agoMake FunctionAttrs use AliasAnalysis::getModRefBehavior, now that it
Dan Gohman [Mon, 8 Nov 2010 16:10:15 +0000 (16:10 +0000)]
Make FunctionAttrs use AliasAnalysis::getModRefBehavior, now that it
knows about intrinsic functions.

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

13 years agoTeach BasicAliasAnalysis::getModRefBehavior(const Function *F)
Dan Gohman [Mon, 8 Nov 2010 16:08:43 +0000 (16:08 +0000)]
Teach BasicAliasAnalysis::getModRefBehavior(const Function *F)
to analyze intrinsic functions.

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

13 years agoAdd comments.
Dan Gohman [Mon, 8 Nov 2010 15:34:42 +0000 (15:34 +0000)]
Add comments.

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

13 years agosvn:ignore
Benjamin Kramer [Mon, 8 Nov 2010 10:52:42 +0000 (10:52 +0000)]
svn:ignore

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

13 years agoAdd generating function declaration for PTX
Che-Liang Chiou [Mon, 8 Nov 2010 03:06:08 +0000 (03:06 +0000)]
Add generating function declaration for PTX

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

13 years agoAdd physical register counting functions
Che-Liang Chiou [Mon, 8 Nov 2010 03:00:52 +0000 (03:00 +0000)]
Add physical register counting functions

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