Cameron Zwarich [Thu, 20 Jan 2011 03:58:43 +0000 (03:58 +0000)]
Update a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123879
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Thu, 20 Jan 2011 03:56:35 +0000 (03:56 +0000)]
Remove an unnecessary #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123877
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 20 Jan 2011 02:43:19 +0000 (02:43 +0000)]
Fix bug found by new clang warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123872
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 20 Jan 2011 01:29:23 +0000 (01:29 +0000)]
Use only one API at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123866
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 20 Jan 2011 00:29:24 +0000 (00:29 +0000)]
If we can, lower the multiply part of a umulo/smulo call to a libcall
with an invalid type then split the result and perform the overflow check
normally.
Fixes the 32-bit parts of rdar://
8622122 and rdar://
8774702.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123864
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Jan 2011 00:02:16 +0000 (00:02 +0000)]
Fix debug info for merged global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123862
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 19 Jan 2011 23:14:59 +0000 (23:14 +0000)]
Divert Hopfield network debug output. It is very noisy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123859
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 19 Jan 2011 23:14:56 +0000 (23:14 +0000)]
Don't accidentally leave small gaps in the live ranges when leaving the active
interval after an instruction. The leaveIntvAfter() method only adds liveness
from the instruction's boundary index to the inserted copy.
Ideally, SplitKit should be smarter about this, perhaps by combining useIntv()
and leaveIntvAfter() into one method that guarantees continuity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123858
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 19 Jan 2011 23:06:07 +0000 (23:06 +0000)]
Make sure to propogate the error code when we fail to parse a modifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123857
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Jan 2011 23:04:47 +0000 (23:04 +0000)]
Fix register address expression. Patch by Ken Dyck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123856
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 19 Jan 2011 22:11:48 +0000 (22:11 +0000)]
Implement RAGreedy::splitAroundRegion and remove loop splitting.
Region splitting includes loop splitting as a subset, and it is more generic.
The splitting heuristics for variables that are live in more than one block are
now:
1. Try to create a region that covers multiple basic blocks.
2. Try to create a new live range for each block with multiple uses.
3. Spill.
Steps 2 and 3 are similar to what the standard spiller is doing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123853
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 19 Jan 2011 18:56:00 +0000 (18:56 +0000)]
Similarly, analyze truncate through multiply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123842
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 19 Jan 2011 16:59:46 +0000 (16:59 +0000)]
Add a missed SCEV fold that is required to continue analyzing the IR produced
by indvars through the scev expander.
trunc(add x, y) --> add(trunc x, y). Currently SCEV largely folds the other way
which is probably wrong, but preserved to minimize churn. Instcombine doesn't
do this fold either, demonstrating a missed optz'n opportunity on code doing
add+trunc+add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123838
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 19 Jan 2011 16:56:52 +0000 (16:56 +0000)]
Fix the encoding of mrrc and mcrr family of instructions. Also add testcases for mcr and mrc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123837
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 19 Jan 2011 16:32:21 +0000 (16:32 +0000)]
Add unnamed_addr when we can show that address of a global is not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123834
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 19 Jan 2011 15:57:47 +0000 (15:57 +0000)]
Fix comment for gen-clang-decl-nodes tblgen backend, from Michael Han
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123833
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 19 Jan 2011 15:56:12 +0000 (15:56 +0000)]
Add a missing SCEV simplification sext(zext x) --> zext x.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123832
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 19 Jan 2011 15:12:16 +0000 (15:12 +0000)]
ARM/ISel: Factor out isScaledConstantInRange() helper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123823
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 19 Jan 2011 02:35:27 +0000 (02:35 +0000)]
For ARM subtargets with useNEONForSinglePrecisionFP, double count uses
of the floating point types less than 64-bits. It's somewhat of a temporary
hack but forces more accurate modeling of register pressure and results
in fewer spills.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123811
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 19 Jan 2011 02:26:13 +0000 (02:26 +0000)]
whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123810
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Jan 2011 02:16:49 +0000 (02:16 +0000)]
Don't forget to emit the load from indirect symbol when using movw + movt to materialize GA indirect symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123809
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 18 Jan 2011 23:01:21 +0000 (23:01 +0000)]
When matching asm operands, always try to match the most restricted type first.
Unfortunately, while this is the "right" thing to do, it breaks some ARM
asm parsing tests because MemMode5 and ThumbMemModeReg are ambiguous. This
is tricky to resolve since neither is a subset of the other.
XFAIL the test for now. The old way was broken in other ways, just ways
we didn't happen to be testing, and our ARM asm parsing is going to require
significant revisiting at a later point anyways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123786
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 21:58:20 +0000 (21:58 +0000)]
Create two new generic classes to represent the following VMRS/VMSR variations:
vmrs reg, fpexc
vmrs reg, fpsid
vmsr fpexc, reg
vmsr fpsid, reg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123783
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 21:31:35 +0000 (21:31 +0000)]
Fix MRS encoding for arm and thumb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123778
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 21:17:09 +0000 (21:17 +0000)]
Fix the encoding of t2ISB by using the right class and also parse it correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123776
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Jan 2011 21:16:06 +0000 (21:16 +0000)]
Teach BasicAA to return PartialAlias in cases where both pointers
are pointing to the same object, one pointer is accessing the entire
object, and the other is access has a non-zero size. This prevents
TBAA from kicking in and saying NoAlias in such cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123775
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 18 Jan 2011 21:13:27 +0000 (21:13 +0000)]
Add RAGreedy methods for splitting live ranges around regions.
Analyze the live range's behavior entering and leaving basic blocks. Compute an
interference pattern for each allocation candidate, and use SpillPlacement to
find an optimal region where that register can be live.
This code is still not enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123774
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 20:55:11 +0000 (20:55 +0000)]
Follow the current hack set and enable the correct parsing of bkpt while in thumb mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Jan 2011 20:53:04 +0000 (20:53 +0000)]
fix rdar://
8878965, a regression I introduced with the recent
llvm.objectsize changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123771
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 20:45:56 +0000 (20:45 +0000)]
Add support for parsing and encoding ARM's official syntax for the BFI instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123770
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 18 Jan 2011 19:59:19 +0000 (19:59 +0000)]
Add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123769
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 19:50:18 +0000 (19:50 +0000)]
Ensure Mips::GP is properly reloaded after a function call. Patch by Sasa Stankovic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123768
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 19:41:41 +0000 (19:41 +0000)]
Negative zero is not legal on mips. Patch by Sasa Stankovic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123766
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 19:38:25 +0000 (19:38 +0000)]
Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123763
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 18 Jan 2011 19:29:17 +0000 (19:29 +0000)]
Add support for mips32 madd and msub instructions. Patch by Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123760
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Jan 2011 11:50:19 +0000 (11:50 +0000)]
For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + 1) -> -1.
These were not recommended by my auto-simplifier since they don't fire often enough.
However they do fire from time to time, for example they remove one subtraction from
the final bitcode for 483.xalancbmk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123755
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Jan 2011 09:24:58 +0000 (09:24 +0000)]
Simplify (X<<1)-X into X. According to my auto-simplier this is the most common missed
simplification in fully optimized code. It occurs sporadically in the testsuite, and
many times in 403.gcc: the final bitcode has 131 fewer subtractions after this change.
The reason that the multiplies are not eliminated is the same reason that instcombine
did not catch this: they are used by other instructions (instcombine catches this with
a more general transform which in general is only profitable if the operands have only
one use).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Jan 2011 07:47:48 +0000 (07:47 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123752
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Jan 2011 06:12:10 +0000 (06:12 +0000)]
finish a sentence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123750
91177308-0d34-0410-b5e6-
96231b3b80d8
Venkatraman Govindaraju [Tue, 18 Jan 2011 06:09:55 +0000 (06:09 +0000)]
SPARC backend: Modified LowerCall and LowerFormalArguments so that they use CallingConv assignments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123749
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 06:07:18 +0000 (06:07 +0000)]
Remove an unnecessary #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123748
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 06:06:27 +0000 (06:06 +0000)]
Move DominanceFrontier from VMCore to Analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123747
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:55:27 +0000 (05:55 +0000)]
McARM: Use accessors where appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123746
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:55:21 +0000 (05:55 +0000)]
McARM: Fill in ASMOperand::dump() for memory operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123745
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:55:15 +0000 (05:55 +0000)]
McARM: Make ARMOperand use a union where appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123744
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 05:44:04 +0000 (05:44 +0000)]
There is no point in verifying an analysis that is never updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123743
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:34:24 +0000 (05:34 +0000)]
McARM: Unify ParseMemory() successfull return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123740
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:34:17 +0000 (05:34 +0000)]
McARM: Early exit on failure (NEFC).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123739
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:34:11 +0000 (05:34 +0000)]
McARM: Always keep an offset expression, if used (instead of assuming == 0 if used but not present), and simplify logic.
Also, clean up various non-sensicalisms in isMemModeRegThumb() and isMemModeImmThumb().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123738
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:34:05 +0000 (05:34 +0000)]
McARM: Add a variety of asserts on the sanity of memory operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123737
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 05:33:57 +0000 (05:33 +0000)]
McARM: Use a consistent marker for not-set OffsetRegNum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123736
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 04:50:38 +0000 (04:50 +0000)]
Convert a std::map to a DenseMap for another 1.7% speedup on -scalarrepl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123732
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 04:41:32 +0000 (04:41 +0000)]
Make a std::vector a SmallVector<*, 32> like the other vectors in the same
function. This seems to be about a 1.5% speedup of -scalarrepl on test-suite
with SPEC2000 and SPEC2006.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123731
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 18 Jan 2011 04:36:06 +0000 (04:36 +0000)]
Reduce indentation and remove commented out code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123729
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 04:21:57 +0000 (04:21 +0000)]
Remove some now-unused DominanceFrontier methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123726
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 04:11:31 +0000 (04:11 +0000)]
Remove code for updating dominance frontiers and some outdated references to
dominance and post-dominance frontiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123725
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Tue, 18 Jan 2011 03:53:26 +0000 (03:53 +0000)]
Remove outdated references to dominance frontiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123724
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 03:06:03 +0000 (03:06 +0000)]
McARM: Start marking T2 address operands as such, for the benefit of the parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123722
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 01:59:30 +0000 (01:59 +0000)]
Formatting tweak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123718
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 18 Jan 2011 01:59:24 +0000 (01:59 +0000)]
Support/CommandLine: Add "Did you mean" print for mismatched operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123717
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 18 Jan 2011 01:37:20 +0000 (01:37 +0000)]
The stub routine that we're calling uses test and so clobbers
the flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 18 Jan 2011 01:23:44 +0000 (01:23 +0000)]
minor change to rafael's recent patches: if something is
constant but requires a unique address, we can still put it in a
readonly section, just not a mergable one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123711
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 18 Jan 2011 00:51:23 +0000 (00:51 +0000)]
Remove unused variables found by gcc-4.6's -Wunused-but-set-variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123707
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 18 Jan 2011 00:09:27 +0000 (00:09 +0000)]
Remove checking that prevented overlapping CALLSEQ_START/CALLSEQ_END
ranges, add legalizer support for nested calls. Necessary for ARM
byval support. Radar
7662569.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123704
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 17 Jan 2011 22:41:34 +0000 (22:41 +0000)]
Windows/PathV2.inc: For CryptAcquireContext(), CRYPT_VERIFYCONTEXT may be specified for easy use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123687
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 17 Jan 2011 22:41:25 +0000 (22:41 +0000)]
Windows/PathV2.inc: MoveFileEx() can behave like Posix's mv(1) to specify MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123686
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 17 Jan 2011 22:41:15 +0000 (22:41 +0000)]
lib/Support/Windows/Signals.inc: "Showstopper" dialogs may be suppressed with SetErrorMode() on Windows 7.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123685
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 17 Jan 2011 22:39:54 +0000 (22:39 +0000)]
Remove dead code, that I apparently wrote a while back. We seem to be doing well enough
without whatever this was trying to do. When/if someone has the time to do some empirical
evaluations, it might be worth it to figure out what this code was trying to do and see if
it's worth resurrecting/fixing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123684
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Mon, 17 Jan 2011 19:17:01 +0000 (19:17 +0000)]
Add a missing <cctype> include, from Joerg Sonnenberger!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123670
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 17 Jan 2011 18:34:03 +0000 (18:34 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123665
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 17 Jan 2011 18:00:28 +0000 (18:00 +0000)]
Fix an off-by-one error in ctpop combining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123664
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 17 Jan 2011 17:54:17 +0000 (17:54 +0000)]
Update tests to accomodate unnamed_addr introduction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123663
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Mon, 17 Jan 2011 17:38:41 +0000 (17:38 +0000)]
Roll r123609 back in with two changes that fix test failures with expensive
checks enabled:
1) Use '<' to compare integers in a comparison function rather than '<='.
2) Use the uniqued set DefBlocks rather than Info.DefiningBlocks to initialize
the priority queue.
The speedup of scalarrepl on test-suite + SPEC2000 + SPEC2006 is a bit less, at
just under 16% rather than 17%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123662
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 17 Jan 2011 17:34:43 +0000 (17:34 +0000)]
Revert rr123550. It causes clang build failure on darwin9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123661
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 17 Jan 2011 16:43:30 +0000 (16:43 +0000)]
Archive: Fix temp path names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123660
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Mon, 17 Jan 2011 16:35:14 +0000 (16:35 +0000)]
Add some platform checks. Also fix a typo on a Makefile.
Patch by arrowdodger!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123659
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 17 Jan 2011 15:53:12 +0000 (15:53 +0000)]
Support/raw_ostream: Fix uninitalized variable in raw_fd_ostream constructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123643
91177308-0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Mon, 17 Jan 2011 15:18:06 +0000 (15:18 +0000)]
Remove useless Tag enumeration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123623
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Mon, 17 Jan 2011 13:33:19 +0000 (13:33 +0000)]
Split up RotateShift itinerary in SPU.
'rotq*' and 'shlq*' instructions go to the odd pipeline,
wheras the inter-vector equivalents 'rot*', 'shl*' go
to the even.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123622
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 17 Jan 2011 12:04:57 +0000 (12:04 +0000)]
Add a DAGCombine to turn (ctpop x) u< 2 into (x & x-1) == 0.
This shaves off 4 popcounts from the hacked 186.crafty source.
This is enabled even when a native popcount instruction is available. The
combined code is one operation longer but it should be faster nevertheless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123621
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Mon, 17 Jan 2011 11:59:20 +0000 (11:59 +0000)]
Don't crash SPU BE with memory accesses with big alignmnet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123620
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 17 Jan 2011 08:03:18 +0000 (08:03 +0000)]
Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g.
movw r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4))
movt r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4))
LPC0_0:
add r0, pc, r0
It's not yet enabled by default as some tests are failing. I suspect bugs in
down stream tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123619
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Mon, 17 Jan 2011 07:26:51 +0000 (07:26 +0000)]
Roll out r123609 due to failures on the llvm-x86_64-linux-checks bot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123618
91177308-0d34-0410-b5e6-
96231b3b80d8
Francois Pichet [Mon, 17 Jan 2011 02:07:17 +0000 (02:07 +0000)]
Suppress warning "switch statement contains 'default' but no 'case' labels" on MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123610
91177308-0d34-0410-b5e6-
96231b3b80d8
Cameron Zwarich [Mon, 17 Jan 2011 01:08:59 +0000 (01:08 +0000)]
Eliminate the use of dominance frontiers in PromoteMemToReg. In addition to
eliminating a potentially quadratic data structure, this also gives a 17%
speedup when running -scalarrepl on test-suite + SPEC2000 + SPEC2006. My initial
experiment gave a greater speedup around 25%, but I moved the dominator tree
level computation from dominator tree construction to PromoteMemToReg.
Since this approach to computing IDFs has a much lower overhead than the old
code using precomputed DFs, it is worth looking at using this new code for the
second scalarrepl pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123609
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 23:39:59 +0000 (23:39 +0000)]
UnRevert "Revert "Archive: Replace all internal uses of PathV1 with PathV2. The external API still uses PathV1.""
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123605
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 22:18:41 +0000 (22:18 +0000)]
Fix rename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123604
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 16 Jan 2011 21:57:20 +0000 (21:57 +0000)]
Test for lazy value info's ability to prove the absense of NULLs in pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123601
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 21:34:34 +0000 (21:34 +0000)]
Make everyone happy this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123599
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 16 Jan 2011 21:28:33 +0000 (21:28 +0000)]
Provide instruction sizes for ARMv5 variants of MUL instructions.
This fixes PR8987
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123598
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Jan 2011 21:26:15 +0000 (21:26 +0000)]
Update README.txt to remove the DAE enhancement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123597
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Sun, 16 Jan 2011 21:25:33 +0000 (21:25 +0000)]
Teach DAE to look for functions whose arguments are unused, and change all callers to pass in an undefvalue instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123596
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 21:13:51 +0000 (21:13 +0000)]
UnRevert "Revert the archive part of "Support/PathV2: Add identify_magic.""
This reverts commit
dd103021a889a986a181ce36ed7b0e8dc9b645e1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123595
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 20:52:58 +0000 (20:52 +0000)]
Try and fix this test. For some reason llvm-ar thinks that the file exists when
it shouldn't, but I have no way to verify that it doesn't actually exist on the
buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123594
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 16 Jan 2011 19:56:42 +0000 (19:56 +0000)]
Revert the archive part of "Support/PathV2: Add identify_magic."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123593
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 16 Jan 2011 18:02:57 +0000 (18:02 +0000)]
Update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2011 17:46:19 +0000 (17:46 +0000)]
tidy up a comment, as suggested by duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123590
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 16 Jan 2011 17:19:34 +0000 (17:19 +0000)]
Only put unnamed_addr constants in mergeable sections. Fixes PR8297.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123585
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 16 Jan 2011 17:05:09 +0000 (17:05 +0000)]
Don't merge two constants if we care about the address of both.
This fixes the original testcase in PR8927. It also causes a clang
binary built with a patched clang to increase in size by 0.21%.
We can probably get some of the size back by writing a pass that
detects that a global never has its pointer compared and adds
unnamed_addr to it (maybe extend global opt). It is also possible that
there are some other cases clang could add unnamed_addr to.
I will investigate extending globalopt next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123584
91177308-0d34-0410-b5e6-
96231b3b80d8
Jay Foad [Sun, 16 Jan 2011 15:30:52 +0000 (15:30 +0000)]
Simplify the construction and destruction of Uses. Simplify
User::dropHungOffUses().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123580
91177308-0d34-0410-b5e6-
96231b3b80d8