Devang Patel [Thu, 11 Nov 2010 00:13:39 +0000 (00:13 +0000)]
Document debuginfo-tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118746
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:56:02 +0000 (23:56 +0000)]
Delete unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118743
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:56:00 +0000 (23:56 +0000)]
No need to add liveness that's already there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118742
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 23:55:56 +0000 (23:55 +0000)]
Hook up AliasAnalysis in InlineSpiller. This is used for rematerializing
constant loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118741
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:44:32 +0000 (23:44 +0000)]
Move LDM predicate operand encoding into base clase. Add STM missing STM
encoding bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118738
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:38:36 +0000 (23:38 +0000)]
ARM LDM encoding for the mode (ia, ib, da, db) operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118736
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 23:36:59 +0000 (23:36 +0000)]
Factor some code into WriteSection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118733
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:18:49 +0000 (23:18 +0000)]
Fix ARM encoding of non-return LDM instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118732
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 10 Nov 2010 23:12:48 +0000 (23:12 +0000)]
Fix ARM encoding of LDM+Return instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118730
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 22:35:02 +0000 (22:35 +0000)]
When clearing a non-local pointer dependency cache entry, clear
the reverse map too. This fixes seflhost build errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118729
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 22:34:07 +0000 (22:34 +0000)]
Update the section index map after we add the medatada sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118728
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 10 Nov 2010 22:19:21 +0000 (22:19 +0000)]
Take care of special characters while creating named MDNode name to hold function specific local variable's info.
This fixes radar
8653152. I am checking in testcase as a separate check-in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118726
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 22:16:43 +0000 (22:16 +0000)]
Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118725
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 21:51:35 +0000 (21:51 +0000)]
Factor out the code for computing an AliasAnalysis::Location
for a given instruction into a helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118723
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 21:51:05 +0000 (21:51 +0000)]
Factor some code into ComputeIndexMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118722
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 21:45:11 +0000 (21:45 +0000)]
Fully invalidate cached results when a prior query's size or
type is insufficient for, or incompatible with, the current query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118721
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 10 Nov 2010 21:35:41 +0000 (21:35 +0000)]
Fix an issue where we tried to turn a v2f32 build_vector into a v4i32 build vector with 2 elts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118720
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 10 Nov 2010 20:53:24 +0000 (20:53 +0000)]
Reduce the maximum recursion depth, 5 seems pointlessly too much.
Probably it should just be 1, but compromise with 3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118718
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 20:37:15 +0000 (20:37 +0000)]
Enhance GVN to do more precise alias queries for non-local memory
references. For example, this allows gvn to eliminate the load in
this example:
void foo(int n, int* p, int *q) {
p[0] = 0;
p[1] = 1;
if (n) {
*q = p[0];
}
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118714
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 20:02:59 +0000 (20:02 +0000)]
Change the String<size> methods to take a fragment instead of a buffer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118709
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 10 Nov 2010 19:31:50 +0000 (19:31 +0000)]
Basic rematerialization during splitting.
Whenever splitting wants to insert a copy, it checks if the value can be
rematerialized cheaply instead.
Missing features:
- Delete instructions when all uses have been rematerialized.
- Truncate live ranges to the remaining uses after rematerialization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118702
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 10 Nov 2010 19:18:47 +0000 (19:18 +0000)]
RABasic is nearly functionally complete. There are a few remaining
benchmarks hitting an assertion.
Adds LiveIntervalUnion::collectInterferingVRegs.
Fixes "late spilling" by checking for any unspillable live vregs among
all physReg aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118701
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 10 Nov 2010 19:05:07 +0000 (19:05 +0000)]
Use MCSectionELF in places we know we have an ELF section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118699
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 10 Nov 2010 19:03:33 +0000 (19:03 +0000)]
Use getValueOperand() and getPointerOperand() on load and store
instructions instead of hard-coding operand numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118698
91177308-0d34-0410-b5e6-
96231b3b80d8
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