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
Evgeniy Stepanov
a193a72b44
[msan] Add a test for r168873.
...
llvm-svn: 168877
2012-11-29 13:11:09 +00:00
Evgeniy Stepanov
9a72b355fa
[msan] Transform memcpy and memset to library calls.
...
This was already done for memmove, where it is required for correctness.
This change improves performance by avoiding copyingthe same memory twice.
Also, the library functions are given __msan_ prefix to prevent instcombine
pass from converting them back to intrinsics.
llvm-svn: 168876
2012-11-29 12:49:04 +00:00
Elena Demikhovsky
98c09d42c5
I changed hasAVX() to hasFp256() and hasAVX2() to hasInt256() in X86IselLowering.cpp.
...
The logic was not changed, only names.
llvm-svn: 168875
2012-11-29 12:44:59 +00:00
Evgeniy Stepanov
ad930ee08f
[msan] Update tests (broken in r168873).
...
llvm-svn: 168874
2012-11-29 12:43:56 +00:00
Evgeniy Stepanov
a59f1bfbc8
[msan] Make sure that report callbacks do not get merged.
...
llvm-svn: 168873
2012-11-29 12:30:18 +00:00
Dmitri Gribenko
ee7b6022d6
Documentation: use correct highlighter
...
llvm-svn: 168871
2012-11-29 12:00:32 +00:00
Evgeniy Stepanov
6d7e99f2ac
Initial commit of MemorySanitizer.
...
Compiler pass only.
llvm-svn: 168866
2012-11-29 09:57:20 +00:00
Kostya Serebryany
c034f162cc
[asan/tsan] initialize the asan/tsan callbacks in runOnFunction as opposed to doInitialization. This is required to allow the upcoming changes in PassManager behavior
...
llvm-svn: 168864
2012-11-29 09:54:21 +00:00
Kostya Serebryany
5858a1aa4c
[asan] when checking the noreturn attribute on the call, also check it on the callee
...
llvm-svn: 168861
2012-11-29 08:57:20 +00:00
Preston Briggs
c8bfeb9114
Cleaned up a couple of comments.
...
llvm-svn: 168854
2012-11-29 04:30:52 +00:00
Jakob Stoklund Olesen
9bbaa29b20
Use MCPhysReg for RegisterClassInfo allocation orders.
...
This saves a bit of memory.
llvm-svn: 168852
2012-11-29 03:34:17 +00:00
Jakob Stoklund Olesen
7cbcf348ea
Add an MCPhysReg typedef to replace naked uint16_t.
...
Use this type for arrays of physical registers.
llvm-svn: 168850
2012-11-29 02:39:28 +00:00
Shuxin Yang
106133b571
Instruction::isAssociative() returns true for fmul/fadd if they are tagged "unsafe" mode.
...
Approved by: Eli and Michael.
llvm-svn: 168848
2012-11-29 01:47:31 +00:00