Kevin Enderby
d3ba5ff018
Fixed the arm disassembly of invalid BFI instructions to not build a bad MCInst
...
which would then cause an assert when printed. rdar://11437956
llvm-svn: 168960
2012-11-29 23:47:11 +00:00
Eric Christopher
20076dc191
More comment.
...
llvm-svn: 168952
2012-11-29 22:56:13 +00:00
Dan Gohman
c7892a6f58
Update comment for malloc being a library call now, rather than an instruction.
...
llvm-svn: 168946
2012-11-29 21:58:47 +00:00
Michael Ilseman
d71b8c4e64
copyFastMathFlags utility and test case
...
llvm-svn: 168943
2012-11-29 21:25:12 +00:00
Eli Bendersky
73483dbfc6
Add a FileCheck test that makes sure two different CHECKs won't match the
...
same string
llvm-svn: 168942
2012-11-29 21:24:44 +00:00
Dan Gohman
7f6a368549
Update my email address.
...
llvm-svn: 168941
2012-11-29 21:17:26 +00:00
Chad Rosier
7c30582956
Whitespace.
...
llvm-svn: 168937
2012-11-29 20:58:08 +00:00
Chad Rosier
1dbe51ba80
Fix 80-column violations.
...
llvm-svn: 168936
2012-11-29 20:56:58 +00:00
Benjamin Kramer
178c42a20b
Object: Pass the buffer name through when making a copy.
...
Should bring the buildbots back to life.
llvm-svn: 168935
2012-11-29 20:08:03 +00:00
Quentin Colombet
d96efd313e
Add cortex-a5 subtarget to the supported ARM architectures
...
llvm-svn: 168933
2012-11-29 19:48:01 +00:00
Justin Holewinski
763ffcccbe
Cleanup recent addition of DAGTypeLegalizer::SplitVecOp_VSELECT
...
llvm-svn: 168932
2012-11-29 19:42:09 +00:00
Shuxin Yang
a7c032d8b5
rdar://12100355 (part 1)
...
This revision attempts to recognize following population-count pattern:
while(a) { c++; ... ; a &= a - 1; ... },
where <c> and <a>could be used multiple times in the loop body.
TODO: On X8664 and ARM, __buildin_ctpop() are not expanded to a efficent
instruction sequence, which need to be improved in the following commits.
Reviewed by Nadav, really appreciate!
llvm-svn: 168931
2012-11-29 19:38:54 +00:00
Bill Wendling
18531926d1
Handle the situation where CodeGenPrepare removes a reference to a BB that has
...
the last invoke instruction in the function. This also removes the last landing
pad in an function. This is fine, but with SjLj EH code, we've already placed a
bunch of code in the 'entry' block, which expects the landing pad to stick
around.
When we get to the situation where CGP has removed the last landing pad, go
ahead and nuke the SjLj instructions from the 'entry' block.
<rdar://problem/12721258>
llvm-svn: 168930
2012-11-29 19:38:06 +00:00
Jyotsna Verma
7806a44024
Use multiclass for 'transfer' instructions.
...
llvm-svn: 168929
2012-11-29 19:35:44 +00:00
Nadav Rotem
e8ebdf63e5
No need to run LICM after loop vectorization because we dont generate invariant code any more.
...
llvm-svn: 168928
2012-11-29 19:28:29 +00:00
Nadav Rotem
d7449a0a92
When broadcasting invariant scalars into vectors, place the broadcast code in the preheader.
...
llvm-svn: 168927
2012-11-29 19:25:41 +00:00
Dmitri Gribenko
44ae529695
Documentation for FileCheck: use 'option' and 'program' directives.
...
This enables option cross-referencing and now '--' in option names are no more turned into en dashes.
llvm-svn: 168926
2012-11-29 19:21:02 +00:00
Meador Inge
3524aece42
instcombine: Migrate puts optimizations
...
This patch migrates the puts optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
All the simplifiers from simplify-libcalls have now been migrated to
instcombine. Yay! Just a few other bits to migrate (prototype attribute
inference and a few statistics) and simplify-libcalls can finally be put
to rest.
llvm-svn: 168925
2012-11-29 19:15:17 +00:00
Dmitri Gribenko
c560959bc4
Documentation for llvm-link: reformat
...
llvm-svn: 168924
2012-11-29 19:14:35 +00:00
Jim Grosbach
f1c40fbc49
Fix a memory leak in MachOObjectFile.
...
MachOObjectFile owns a MachOObj, but never frees it. Both MachOObjectFile
and MachOObj want to own the MemoryBuffer, though, so we have to be careful
and give them each one of their own.
Thanks to Greg Clayton, Eric Christopher and Michael Spencer for helping
figure out what's going wrong here.
rdar://12561773
llvm-svn: 168923
2012-11-29 19:14:11 +00:00
Dmitri Gribenko
04fcb0c6ad
Documentation for llvm-cov: reformat
...
llvm-svn: 168922
2012-11-29 19:10:21 +00:00
Benjamin Kramer
0bcd999459
Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate.
...
Thanks to Andy for catching this.
llvm-svn: 168921
2012-11-29 19:07:57 +00:00
Dmitri Gribenko
403add6293
Documentation for llvm-stress: reformat
...
llvm-svn: 168920
2012-11-29 19:05:55 +00:00
Dmitri Gribenko
4ec606a8e2
Documentation for opt: reformat
...
llvm-svn: 168919
2012-11-29 19:02:50 +00:00
Andrew Trick
63817bf5f9
Improve isImpliedCond comment a bit.
...
llvm-svn: 168914
2012-11-29 18:35:13 +00:00
Alexey Samsonov
880f363d8f
[ASan] Simplify check added in r168861. Bail out from module pass early if the module is blacklisted.
...
llvm-svn: 168913
2012-11-29 18:27:01 +00:00
Dmitri Gribenko
54b0a3d44d
Documentation for llc: reformat.
...
llvm-svn: 168912
2012-11-29 18:16:11 +00:00
Matt Beaumont-Gay
d6d5d4c329
Apply Takumi's patch to suppress unused-variable warnings in -Asserts builds.
...
llvm-svn: 168911
2012-11-29 18:15:49 +00:00
Alexey Samsonov
cf993b7c27
Add options to AddressSanitizer passes to make them configurable by frontend.
...
llvm-svn: 168910
2012-11-29 18:14:24 +00:00
Shuxin Yang
fd7c5c30c7
fix a typo
...
llvm-svn: 168909
2012-11-29 18:09:37 +00:00
Dmitri Gribenko
6bcf44c262
Documentation for lit: more formatting: use 'option' and 'program' directives.
...
This enables cross-referencing and now '--' in option names are no more turned into en dashes.
llvm-svn: 168906
2012-11-29 18:03:08 +00:00
Pedro Artigas
a84c753671
One more step towards making doInitialization and doFinalization useful for
...
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
2012-11-29 17:47:05 +00:00
Dmitri Gribenko
44a87f27cf
Documentation for tblgen: formatting
...
llvm-svn: 168904
2012-11-29 17:41:05 +00:00
Dmitri Gribenko
ec5e444c18
Documentation for lit: formatting improvements.
...
llvm-svn: 168902
2012-11-29 17:05:34 +00:00
Patrik Hagglund
59421572c6
Test commit.
...
llvm-svn: 168899
2012-11-29 16:19:11 +00:00
Dmitri Gribenko
4218de967f
Documentation: formatting improvements
...
llvm-svn: 168897
2012-11-29 16:12:13 +00:00
Meador Inge
95a0f6df53
instcombine: Migrate fputs optimizations
...
This patch migrates the fputs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168893
2012-11-29 15:45:43 +00:00
Meador Inge
787f51971a
instcombine: Migrate fwrite optimizations
...
This patch migrates the fwrite optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168892
2012-11-29 15:45:39 +00:00
Meador Inge
5553b265a0
instcombine: Migrate fprintf optimizations
...
This patch migrates the fprintf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.
llvm-svn: 168891
2012-11-29 15:45:33 +00:00
Evgeniy Stepanov
ce2af94b8e
[msan] Handle vector manipulation instructions.
...
Handle insertelement, extractelement, shufflevector.
llvm-svn: 168889
2012-11-29 15:22:06 +00:00
Evgeniy Stepanov
ee75091c64
[msan] Fix getOriginForNaryOp.
...
The old version failed on a 3-arg instruction with (-1, 0, 0) shadows (it would
pick the 3rd operand origin irrespective of its shadow).
The new version always picks the origin of the rightmost poisoned operand.
llvm-svn: 168887
2012-11-29 14:44:00 +00:00
Silviu Baranga
d93d64a5fd
Added atomic 64 min/max/umin/umax instrinsics support in the ARM backend.
...
llvm-svn: 168886
2012-11-29 14:41:25 +00:00
Benjamin Kramer
1587ffca86
misched: Recompute priority queue when DFSResults are updated.
...
This was found by MSVC10's STL debug mode on a test from the test suite. Sadly
std::is_heap isn't standard so there is no way to assert this without writing
our own heap verify, which looks like overkill to me.
llvm-svn: 168885
2012-11-29 14:36:26 +00:00
Evgeniy Stepanov
c1edfe7c92
[msan] Basic handling of inline asm.
...
llvm-svn: 168884
2012-11-29 14:32:03 +00:00
Justin Holewinski
9c8d5cc197
Teach the legalizer how to handle operands for VSELECT nodes
...
If we need to split the operand of a VSELECT, it must be the mask operand. We
split the entire VSELECT operand with EXTRACT_SUBVECTOR.
llvm-svn: 168883
2012-11-29 14:26:28 +00:00
Justin Holewinski
c9fa05b437
Allow targets to prefer TypeSplitVector over TypePromoteInteger when computing the legalization method for vectors
...
For some targets, it is desirable to prefer scalarizing <N x i1> instead of promoting to a larger legal type, such as <N x i32>.
llvm-svn: 168882
2012-11-29 14:26:24 +00:00
Evgeniy Stepanov
fafa2ae4b6
[msan] Propagate shadow through (x<0) and (x>=0) comparisons.
...
This is a special case of signed relational comparison where result
only depends on the sign of x.
llvm-svn: 168881
2012-11-29 14:25:47 +00:00
Evgeniy Stepanov
fc6164c985
[msan] Fix shadow & origin store & load alignment.
...
This change ensures that shadow memory accesses have the same alignment
as corresponding app memory accesses.
llvm-svn: 168880
2012-11-29 14:05:53 +00:00
Evgeniy Stepanov
f8914133d8
[msan] Optimize getOriginPtr.
...
Rewrite getOriginPtr in a way that lets subsequent optimizations factor out
the common part of Shadow and Origin address calculation. Improves perf by
up to 5%.
llvm-svn: 168879
2012-11-29 13:43:05 +00:00
Evgeniy Stepanov
61a9349bab
[msan] Fix a few compilation warnings.
...
llvm-svn: 168878
2012-11-29 13:12:03 +00:00