Chris Lattner
34a61ab676
teach loop idiom recognition to form memcpy's from simple loops.
...
llvm-svn: 122678
2011-01-02 03:37:56 +00:00
Nick Lewycky
68d915ae1a
Remove functions from the FnSet when one of their callee's is being merged. This
...
maintains the guarantee that the DenseSet expects two elements it contains to
not go from inequal to equal under its nose.
As a side-effect, this also lets us switch from iterating to a fixed-point to
actually maintaining a work queue of functions to look at again, and we don't
add thunks to our work queue so we don't need to detect and ignore them.
llvm-svn: 122677
2011-01-02 02:46:33 +00:00
Chris Lattner
9dadac901f
a missed __builtin_object_size case.
...
llvm-svn: 122676
2011-01-01 22:57:31 +00:00
Chris Lattner
e3e3cb83a5
various updates.
...
llvm-svn: 122675
2011-01-01 22:52:11 +00:00
Chris Lattner
fda382af51
fix a globalopt crash on two Adobe-C++ testcases that the recent
...
loop idiom pass exposed.
llvm-svn: 122674
2011-01-01 22:31:46 +00:00
Rafael Espindola
2600dec19b
Fix darwin bots.
...
llvm-svn: 122672
2011-01-01 21:58:41 +00:00
Rafael Espindola
55f7a5057d
Add support for the 'H' modifier.
...
llvm-svn: 122667
2011-01-01 20:58:46 +00:00
Anton Korobeynikov
c3dd871e95
Update the test
...
llvm-svn: 122666
2011-01-01 20:57:26 +00:00
Chris Lattner
e2ca13d366
turn on memset idiom recognition by default. Though there are still lots of
...
limitations, this kicks in dozens of times in the 4 specfp2000 benchmarks,
and hundreds of times in the int part. It also kicks in hundreds of times
in multisource.
This kicks in right before loop deletion, which has the pleasant effect of
deleting loops that *just* do a memset.
llvm-svn: 122664
2011-01-01 20:39:18 +00:00
Anton Korobeynikov
d37cb4cd1c
Model operand restrictions of mul-like instructions on ARMv5 via
...
earlyclobber stuff. This should fix PRs 2313 and 8157.
Unfortunately, no testcase, since it'd be dependent on register
assignments.
llvm-svn: 122663
2011-01-01 20:38:38 +00:00
Chris Lattner
b9c1684fce
add a validity check that was missed, fixing a crash on the
...
new testcase.
llvm-svn: 122662
2011-01-01 20:12:04 +00:00
Duncan Sands
aaddf57af9
Revert commit 122654 at the request of Chris, who reckons that instsimplify
...
is the wrong hammer for this nail, and is probably right.
llvm-svn: 122661
2011-01-01 20:08:02 +00:00
Chris Lattner
9a9f43c4a2
improve validity check to handle constant-trip-count loops more
...
aggressively. In practice, this doesn't help anything though,
see the todo.
llvm-svn: 122660
2011-01-01 19:54:22 +00:00
Chris Lattner
4651f8b037
implement the "no aliasing accesses in loop" safety check. This pass
...
should be correct now.
llvm-svn: 122659
2011-01-01 19:39:01 +00:00
Rafael Espindola
e223c0aa14
Fix PR8878.
...
llvm-svn: 122658
2011-01-01 19:05:35 +00:00
Duncan Sands
6569cc29d1
Correct a bunch of mistakes which meant that the example pass didn't
...
even compile, let alone work.
llvm-svn: 122657
2011-01-01 17:37:07 +00:00
Duncan Sands
621983efe9
I was unable to get the instructions to work if LLVM was built
...
using a separate objects directory.
llvm-svn: 122656
2011-01-01 17:28:49 +00:00
Duncan Sands
3ba8ee3552
Clarify that the loadable module turns up in the top-level directory,
...
not locally.
llvm-svn: 122655
2011-01-01 17:21:58 +00:00
Duncan Sands
ec8b2b4cc5
Fix a README item by having InstructionSimplify do a mild form of value
...
numbering, in which it considers (for example) "%a = add i32 %x, %y" and
"%b = add i32 %x, %y" to be equal because the operands are equal and the
result of the instructions only depends on the values of the operands.
This has almost no effect (it removes 4 instructions from gcc-as-one-file),
and perhaps slows down compilation: I measured a 0.4% slowdown on the large
gcc-as-one-file testcase, but it wasn't statistically significant.
llvm-svn: 122654
2011-01-01 16:12:09 +00:00
Che-Liang Chiou
a188cfb574
ptx: remove reg-reg addressing mode and st.const
...
llvm-svn: 122653
2011-01-01 11:58:58 +00:00
Che-Liang Chiou
995a853724
ptx: add store instruction
...
llvm-svn: 122652
2011-01-01 10:50:37 +00:00
Erick Tryzelaar
f6477b0a90
Add a reference to the OCamlLangImpl8.
...
llvm-svn: 122651
2011-01-01 03:29:25 +00:00
Erick Tryzelaar
5ac1b424f0
Add an OCaml tutorial page 8
...
llvm-svn: 122650
2011-01-01 03:27:43 +00:00
Oscar Fuentes
a63d0dbfbf
Add to the list of cmake files the object file, not the asm file. This
...
is necessary for executing the custom command that runs the
assember. Fixes PR8877.
llvm-svn: 122649
2010-12-31 20:15:37 +00:00
Oscar Fuentes
2e6eb6e191
CMake (MSVC): cmake automatically adds the /EHsc and /GR compiler
...
options. If we are building with exceptions/rtti disabled, we replace
/EHsc with /EHs-c- and /GR with /GR-, respectively. If we just add the
disabling options we get warnings like this:
cl : Command line warning D9025 : overriding '/EHs' with '/EHs-'
llvm-svn: 122648
2010-12-31 19:10:49 +00:00
Duncan Sands
74270e8100
Simplify this pass by using a depth-first iterator to ensure that all
...
operands are visited before the instructions themselves.
llvm-svn: 122647
2010-12-31 17:49:05 +00:00
Duncan Sands
ca280dbcd5
Zap dead instructions harder.
...
llvm-svn: 122645
2010-12-31 16:17:54 +00:00
Benjamin Kramer
c84434924f
Make a bunch of symbols internal.
...
llvm-svn: 122642
2010-12-30 22:34:44 +00:00
Nick Lewycky
5cb84ee2cf
Add another non-commutable instruction that gas accepts commuted forms for.
...
Fixes PR8861.
llvm-svn: 122641
2010-12-30 22:10:49 +00:00
Che-Liang Chiou
f4aaa1b2e1
ptx: add state spaces
...
llvm-svn: 122638
2010-12-30 10:41:27 +00:00
Chris Lattner
f0e1e53e62
include the module identifier when emitting this warning, PR8865.
...
llvm-svn: 122637
2010-12-30 02:49:45 +00:00
Chris Lattner
f3912fd05b
print the right string, thanks for Frits for noticing.
...
llvm-svn: 122636
2010-12-30 01:07:20 +00:00
Cameron Zwarich
ae468579bb
Use getVRegDef() instead of def_iterator. This leads to fewer defs being added
...
with 2-address instructions, for about a 3.5% speedup of StrongPHIElimination on
403.gcc.
llvm-svn: 122635
2010-12-30 00:42:23 +00:00
Chris Lattner
8b738dffaa
improve warning message to at least say what the triples are.
...
llvm-svn: 122632
2010-12-29 22:41:18 +00:00
Wesley Peck
5a551350c3
Fix stack layout error in MBlaze backend.
...
llvm-svn: 122631
2010-12-29 19:46:28 +00:00
Daniel Dunbar
9ee74282a6
MC/Mach-O/Thumb: Set the thumb bit in the symbol table.
...
llvm-svn: 122630
2010-12-29 14:14:06 +00:00
Cameron Zwarich
1e7124e6fa
None of the other pass names in CodeGen have terminating periods.
...
llvm-svn: 122628
2010-12-29 11:49:10 +00:00
Cameron Zwarich
a7052a3c06
Instead of processing every instruction when splitting interferences, only
...
process those instructions that define phi sources. This is a 47% speedup of
StrongPHIElimination compile time on 403.gcc.
llvm-svn: 122627
2010-12-29 11:00:09 +00:00
Venkatraman Govindaraju
1f9ecea940
SPARC backend fix: correctly passing arguments through stack
...
llvm-svn: 122626
2010-12-29 05:37:15 +00:00
Cameron Zwarich
292870da06
Add a missing word to a comment.
...
llvm-svn: 122625
2010-12-29 04:42:39 +00:00
Rafael Espindola
7b1b3f5d82
Correctly encode pcrel|indirect.
...
llvm-svn: 122624
2010-12-29 04:31:26 +00:00
NAKAMURA Takumi
2160b3953b
CMake: Add disabling optimization on MSVC8 and MSVC10 as workaround for some files in Target/ARM and Target/X86.
...
llvm-svn: 122623
2010-12-29 03:59:27 +00:00
NAKAMURA Takumi
4d8db8b43c
autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming.
...
Cygwin has stdc++.dll in it's distribution, and we can assume distro's stdc++.dll might be available.
llvm-svn: 122622
2010-12-29 03:59:14 +00:00
NAKAMURA Takumi
ec5eb9ed74
autoconf: [PR7874] Add --disable-pthreads to suppress detecting pthreads on certain hosts.
...
This would be needed to build pthread*.dll-free distribution on recent MinGW-MSYS distros.
llvm-svn: 122621
2010-12-29 03:59:03 +00:00
NAKAMURA Takumi
68063487b1
test/Transforms/ConstProp/logicaltest.ll: FileCheck-ize.
...
llvm-svn: 122620
2010-12-29 03:58:56 +00:00
NAKAMURA Takumi
e16c40416e
test/CodeGen/X86/negative-sin.ll: FileCheck-ize.
...
llvm-svn: 122619
2010-12-29 03:58:47 +00:00
NAKAMURA Takumi
d66bcf9ada
test/CodeGen/X86/fp-in-intregs.ll: FileCheck-ize.
...
llvm-svn: 122618
2010-12-29 03:58:36 +00:00
Cameron Zwarich
6fc15ba38b
Add text explaining an assertion.
...
llvm-svn: 122617
2010-12-29 03:52:51 +00:00
Rafael Espindola
ed7b5659d4
Remove second return.
...
llvm-svn: 122616
2010-12-29 02:42:33 +00:00
Rafael Espindola
0408a378e9
Fix bug when trying to output uint16_t or uint32_t.
...
llvm-svn: 122615
2010-12-29 02:30:49 +00:00