Dan Gohman [Wed, 10 Nov 2010 18:30:00 +0000 (18:30 +0000)]
Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite
their comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118696
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 10 Nov 2010 18:23:01 +0000 (18:23 +0000)]
Teach InstructionSimplify how to look through PHI nodes. Since PHI
nodes can be used in loops, this could result in infinite looping
if there is no recursion limit, so add such a limit. It is also
used for the SelectInst case because in theory there could be an
infinite loop there too if the basic block is unreachable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118694
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 18:18:23 +0000 (18:18 +0000)]
Fix a copy+pasto Duncan noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118693
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 18:17:28 +0000 (18:17 +0000)]
Add a doesAccessArgPointees helper function, and update code to use
it, and to be consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118692
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 17:59:10 +0000 (17:59 +0000)]
Simplify and clean up MC symbol lookup for ARM constant pool values. This fixes
double quoting of ObjC symbol names in constant pool entries.
rdar://
8652107
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118688
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 17:34:04 +0000 (17:34 +0000)]
Factor out the code for testing whether a function accesses
arbitrary memory into a helper function, and adjust some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118687
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 17:15:52 +0000 (17:15 +0000)]
Give NonLocalDepResult a NonLocalDepEntry member, replacing
indivudal members holding the same data, to clarify the relationship
between NonLocalDepResult and NonLocalDepEntry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118686
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 10 Nov 2010 16:31:34 +0000 (16:31 +0000)]
Detect if llvm-gcc is built on dragonegg.
Store the flags needed to disable optimizations and to emit LLVM-IR depending on
the version of llvm-gcc used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118684
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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