Bruno Cardoso Lopes
542853bcd7
Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic
...
llvm-svn: 123763
2011-01-18 19:38:25 +00:00
Bruno Cardoso Lopes
6c5db0236a
Add support for mips32 madd and msub instructions. Patch by Akira Hatanaka
...
llvm-svn: 123760
2011-01-18 19:29:17 +00:00
Duncan Sands
732cb58b61
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.
llvm-svn: 123755
2011-01-18 11:50:19 +00:00
Duncan Sands
2abe6f500f
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).
llvm-svn: 123754
2011-01-18 09:24:58 +00:00
Chris Lattner
08e1bf567f
add a note
...
llvm-svn: 123752
2011-01-18 07:47:48 +00:00
Chris Lattner
fa467f3d1b
finish a sentence.
...
llvm-svn: 123750
2011-01-18 06:12:10 +00:00
Venkatraman Govindaraju
ecf49c6279
SPARC backend: Modified LowerCall and LowerFormalArguments so that they use CallingConv assignments.
...
llvm-svn: 123749
2011-01-18 06:09:55 +00:00
Cameron Zwarich
ea98dd25a5
Remove an unnecessary #include.
...
llvm-svn: 123748
2011-01-18 06:07:18 +00:00
Cameron Zwarich
c8083524f8
Move DominanceFrontier from VMCore to Analysis.
...
llvm-svn: 123747
2011-01-18 06:06:27 +00:00
Daniel Dunbar
12dd48769d
McARM: Use accessors where appropriate.
...
llvm-svn: 123746
2011-01-18 05:55:27 +00:00
Daniel Dunbar
51fef8d445
McARM: Fill in ASMOperand::dump() for memory operands.
...
llvm-svn: 123745
2011-01-18 05:55:21 +00:00
Daniel Dunbar
f966e16cb0
McARM: Make ARMOperand use a union where appropriate.
...
llvm-svn: 123744
2011-01-18 05:55:15 +00:00
Cameron Zwarich
caca9a63e6
There is no point in verifying an analysis that is never updated.
...
llvm-svn: 123743
2011-01-18 05:44:04 +00:00
Daniel Dunbar
0cff3f953b
McARM: Unify ParseMemory() successfull return.
...
llvm-svn: 123740
2011-01-18 05:34:24 +00:00
Daniel Dunbar
3cb5e8b0cb
McARM: Early exit on failure (NEFC).
...
llvm-svn: 123739
2011-01-18 05:34:17 +00:00
Daniel Dunbar
9ea6873c89
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().
llvm-svn: 123738
2011-01-18 05:34:11 +00:00
Daniel Dunbar
8d7ed1f6a8
McARM: Add a variety of asserts on the sanity of memory operands.
...
llvm-svn: 123737
2011-01-18 05:34:05 +00:00
Daniel Dunbar
aa5e17f3a7
McARM: Use a consistent marker for not-set OffsetRegNum.
...
llvm-svn: 123736
2011-01-18 05:33:57 +00:00
Cameron Zwarich
4ccaa5dccc
Convert a std::map to a DenseMap for another 1.7% speedup on -scalarrepl.
...
llvm-svn: 123732
2011-01-18 04:50:38 +00:00
Cameron Zwarich
c35c06d0d4
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.
llvm-svn: 123731
2011-01-18 04:41:32 +00:00
Rafael Espindola
1cab858a5c
Reduce indentation and remove commented out code.
...
llvm-svn: 123729
2011-01-18 04:36:06 +00:00
Cameron Zwarich
62a9d4d454
Remove some now-unused DominanceFrontier methods.
...
llvm-svn: 123726
2011-01-18 04:21:57 +00:00
Cameron Zwarich
c93f994801
Remove code for updating dominance frontiers and some outdated references to
...
dominance and post-dominance frontiers.
llvm-svn: 123725
2011-01-18 04:11:31 +00:00
Cameron Zwarich
e39e476305
Remove outdated references to dominance frontiers.
...
llvm-svn: 123724
2011-01-18 03:53:26 +00:00
Daniel Dunbar
ba39b2fdc1
McARM: Start marking T2 address operands as such, for the benefit of the parser.
...
llvm-svn: 123722
2011-01-18 03:06:03 +00:00
Daniel Dunbar
b8debfe450
Formatting tweak.
...
llvm-svn: 123718
2011-01-18 01:59:30 +00:00
Daniel Dunbar
d4e20df45a
Support/CommandLine: Add "Did you mean" print for mismatched operands.
...
llvm-svn: 123717
2011-01-18 01:59:24 +00:00
Eric Christopher
e8aa8b114f
The stub routine that we're calling uses test and so clobbers
...
the flags.
llvm-svn: 123712
2011-01-18 01:37:20 +00:00
Chris Lattner
047388c197
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.
llvm-svn: 123711
2011-01-18 01:23:44 +00:00
Jeffrey Yasskin
5f5e1f5ef1
Remove unused variables found by gcc-4.6's -Wunused-but-set-variable.
...
llvm-svn: 123707
2011-01-18 00:51:23 +00:00
Stuart Hastings
f5f8318eb6
Remove checking that prevented overlapping CALLSEQ_START/CALLSEQ_END
...
ranges, add legalizer support for nested calls. Necessary for ARM
byval support. Radar 7662569.
llvm-svn: 123704
2011-01-18 00:09:27 +00:00
NAKAMURA Takumi
04e2fe7fd0
Windows/PathV2.inc: For CryptAcquireContext(), CRYPT_VERIFYCONTEXT may be specified for easy use.
...
llvm-svn: 123687
2011-01-17 22:41:34 +00:00
NAKAMURA Takumi
bfd623d7e5
Windows/PathV2.inc: MoveFileEx() can behave like Posix's mv(1) to specify MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING.
...
llvm-svn: 123686
2011-01-17 22:41:25 +00:00
NAKAMURA Takumi
6a74aa16c3
lib/Support/Windows/Signals.inc: "Showstopper" dialogs may be suppressed with SetErrorMode() on Windows 7.
...
llvm-svn: 123685
2011-01-17 22:41:15 +00:00
Owen Anderson
b315a60d0f
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.
llvm-svn: 123684
2011-01-17 22:39:54 +00:00
Douglas Gregor
49f7d8c38c
Add a missing <cctype> include, from Joerg Sonnenberger!
...
llvm-svn: 123670
2011-01-17 19:17:01 +00:00
Jim Grosbach
a55f759249
Trailing whitespace.
...
llvm-svn: 123665
2011-01-17 18:34:03 +00:00
Benjamin Kramer
869dc645f1
Fix an off-by-one error in ctpop combining.
...
llvm-svn: 123664
2011-01-17 18:00:28 +00:00
Devang Patel
ec7c842bfa
Update tests to accomodate unnamed_addr introduction.
...
llvm-svn: 123663
2011-01-17 17:54:17 +00:00
Cameron Zwarich
0a1975802e
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%.
llvm-svn: 123662
2011-01-17 17:38:41 +00:00
Devang Patel
0e3796a7a0
Revert rr123550. It causes clang build failure on darwin9.
...
llvm-svn: 123661
2011-01-17 17:34:43 +00:00
Michael J. Spencer
d076942763
Archive: Fix temp path names.
...
llvm-svn: 123660
2011-01-17 16:43:30 +00:00
Oscar Fuentes
512d8eb82a
Add some platform checks. Also fix a typo on a Makefile.
...
Patch by arrowdodger!
llvm-svn: 123659
2011-01-17 16:35:14 +00:00
Michael J. Spencer
30124fea1f
Support/raw_ostream: Fix uninitalized variable in raw_fd_ostream constructor.
...
llvm-svn: 123643
2011-01-17 15:53:12 +00:00
Jay Foad
599c83ed66
Remove useless Tag enumeration.
...
llvm-svn: 123623
2011-01-17 15:18:06 +00:00
Kalle Raiskila
7401b2a1db
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.
llvm-svn: 123622
2011-01-17 13:33:19 +00:00
Benjamin Kramer
e9488ed8eb
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.
llvm-svn: 123621
2011-01-17 12:04:57 +00:00
Kalle Raiskila
8eaf0e83d5
Don't crash SPU BE with memory accesses with big alignmnet.
...
llvm-svn: 123620
2011-01-17 11:59:20 +00:00
Evan Cheng
53ec6fc591
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.
llvm-svn: 123619
2011-01-17 08:03:18 +00:00
Cameron Zwarich
77e381e302
Roll out r123609 due to failures on the llvm-x86_64-linux-checks bot.
...
llvm-svn: 123618
2011-01-17 07:26:51 +00:00