Bruno Cardoso Lopes
61505907f5
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
2011-01-18 21:58:20 +00:00
Bruno Cardoso Lopes
e7255a80e3
Fix MRS encoding for arm and thumb.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123778 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 21:31:35 +00:00
Bruno Cardoso Lopes
892fc6d7b6
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
2011-01-18 21:17:09 +00:00
Dan Gohman
615da1a9bc
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
2011-01-18 21:16:06 +00:00
Jakob Stoklund Olesen
b5fa933343
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
2011-01-18 21:13:27 +00:00
Bruno Cardoso Lopes
fdcee77887
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
2011-01-18 20:55:11 +00:00
Chris Lattner
435b4d2eba
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
2011-01-18 20:53:04 +00:00
Bruno Cardoso Lopes
a461d42228
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
2011-01-18 20:45:56 +00:00
Jim Grosbach
ff12a8bd99
Add a FIXME.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123769 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 19:59:19 +00:00
Bruno Cardoso Lopes
fb67faa661
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
2011-01-18 19:50:18 +00:00
Bruno Cardoso Lopes
6b9028251c
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
2011-01-18 19:41:41 +00:00
Bruno Cardoso Lopes
b1fce0a016
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
2011-01-18 19:38:25 +00:00
Bruno Cardoso Lopes
8be7611245
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
2011-01-18 19:29:17 +00:00
Duncan Sands
b2f3c383ec
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
2011-01-18 11:50:19 +00:00
Duncan Sands
fe02c69f84
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
2011-01-18 09:24:58 +00:00
Chris Lattner
908d8e82b5
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123752 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 07:47:48 +00:00
Chris Lattner
899407533a
finish a sentence.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123750 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 06:12:10 +00:00
Venkatraman Govindaraju
687ae9606b
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
2011-01-18 06:09:55 +00:00
Cameron Zwarich
f889b3bd6c
Remove an unnecessary #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123748 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 06:07:18 +00:00
Cameron Zwarich
4676599e30
Move DominanceFrontier from VMCore to Analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123747 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 06:06:27 +00:00
Daniel Dunbar
4b462672d2
McARM: Use accessors where appropriate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123746 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 05:55:27 +00:00
Daniel Dunbar
6ec56204f3
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
2011-01-18 05:55:21 +00:00
Daniel Dunbar
2637dc9a25
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
2011-01-18 05:55:15 +00:00
Cameron Zwarich
5d2cf40c40
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
2011-01-18 05:44:04 +00:00
Daniel Dunbar
05d8b71424
McARM: Unify ParseMemory() successfull return.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123740 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 05:34:24 +00:00
Daniel Dunbar
0571093f4c
McARM: Early exit on failure (NEFC).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123739 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 05:34:17 +00:00
Daniel Dunbar
d3df5f32c0
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
2011-01-18 05:34:11 +00:00
Daniel Dunbar
023835d51b
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
2011-01-18 05:34:05 +00:00
Daniel Dunbar
81f453c4b9
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
2011-01-18 05:33:57 +00:00
Cameron Zwarich
59f5319719
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
2011-01-18 04:50:38 +00:00
Cameron Zwarich
443997de8b
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
2011-01-18 04:41:32 +00:00
Rafael Espindola
daad56a8e3
Reduce indentation and remove commented out code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123729 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 04:36:06 +00:00
Cameron Zwarich
72d1695f12
Remove some now-unused DominanceFrontier methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123726 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 04:21:57 +00:00
Cameron Zwarich
301278719b
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
2011-01-18 04:11:31 +00:00
Cameron Zwarich
b1686c32fc
Remove outdated references to dominance frontiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123724 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 03:53:26 +00:00
Daniel Dunbar
2e3cea3153
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
2011-01-18 03:06:03 +00:00
Daniel Dunbar
55b5e85643
Formatting tweak.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-18 01:59:30 +00:00
Daniel Dunbar
f4fb66acae
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
2011-01-18 01:59:24 +00:00
Eric Christopher
cdfe3c359b
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
2011-01-18 01:37:20 +00:00
Chris Lattner
32899199c0
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
2011-01-18 01:23:44 +00:00
Jeffrey Yasskin
955ed73d12
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
2011-01-18 00:51:23 +00:00
Stuart Hastings
f22432282c
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
2011-01-18 00:09:27 +00:00
NAKAMURA Takumi
edd0924d84
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
2011-01-17 22:41:34 +00:00
NAKAMURA Takumi
8ee48c584d
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
2011-01-17 22:41:25 +00:00
NAKAMURA Takumi
ac25e44d89
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
2011-01-17 22:41:15 +00:00
Owen Anderson
390b9f00eb
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
2011-01-17 22:39:54 +00:00
Douglas Gregor
e735882224
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
2011-01-17 19:17:01 +00:00
Jim Grosbach
6bbf5eb32f
Trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123665 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-17 18:34:03 +00:00
Benjamin Kramer
c9b6a3eb90
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
2011-01-17 18:00:28 +00:00
Devang Patel
2522ae5922
Update tests to accomodate unnamed_addr introduction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123663 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-17 17:54:17 +00:00