Matt Arsenault [Sat, 12 Jul 2014 22:19:49 +0000 (22:19 +0000)]
Try to fix MSVC build
llvm-svn: 212886
Matt Arsenault [Sat, 12 Jul 2014 21:59:52 +0000 (21:59 +0000)]
Templatify DominanceFrontier.
Theoretically this should now work for MachineBasicBlocks.
llvm-svn: 212885
Ed Maste [Sat, 12 Jul 2014 21:46:39 +0000 (21:46 +0000)]
Fix lldb-gdbserver build
s_listen_thread had the wrong type.
llvm-svn: 212884
Saleem Abdulrasool [Sat, 12 Jul 2014 21:20:49 +0000 (21:20 +0000)]
AArch64: add support for llvm.aarch64.hint intrinsic
This adds a llvm.aarch64.hint intrinsic to mirror the llvm.arm.hint in order to
support the various hint intrinsic functions in the ACLE.
Add an optional pattern field that permits the subclass to specify the pattern
that matches the selection. The intrinsic pattern is set as mayLoad, mayStore,
so overload the value for the definition of the hint instruction.
llvm-svn: 212883
Saleem Abdulrasool [Sat, 12 Jul 2014 20:49:13 +0000 (20:49 +0000)]
MC: remove use of unnecessary variable
Due to the fact that the windows unwinding has the concept of chained frames, we
maintain a current frame info pointer that is adjusted on any push and pop of a
unwinding context. This just removes an unnecessary variable that was used to
mirror the DWARF unwinding code.
llvm-svn: 212882
Saleem Abdulrasool [Sat, 12 Jul 2014 20:49:09 +0000 (20:49 +0000)]
MC: rename MCW64UnwindInfo to MCWinFrameInfo
This structure contains information related to the call frame used to generate
unwinding information. Rename this to reflect the future use to represent the
shared state between various architectures for WinCFI information.
llvm-svn: 212881
Simon Atanasyan [Sat, 12 Jul 2014 18:25:08 +0000 (18:25 +0000)]
[ELFYAML] Group ELF section type flags to target specific blocks.
Recognize only flags which correspond to the current target.
llvm-svn: 212880
Todd Fiala [Sat, 12 Jul 2014 17:34:24 +0000 (17:34 +0000)]
llgs: modify to accept --native-regs flag.
This is the last flag sent by lldb-platform that was not accepted
by llgs and is accepted by debugserver.
Conditionalized out a bit more code in prep for Windows
support one day based on _WIN32 define.
Updated the lldb-gdbserver usage string to represent
recent updates to command line arguments (and some older
ones like --attach pid).
Implements https://github.com/tfiala/lldb/issues/37
llvm-svn: 212879
Ed Maste [Sat, 12 Jul 2014 15:41:03 +0000 (15:41 +0000)]
Add FreeBSD failure decorator for TestCallStopAndContinue
The testrun now completes successfully on my FreeBSD 11.0-CURRENT
laptop. There are some intermittent failures on the FreeBSD buildbot
still, which should be addressed in later commits.
llvm.org/pr20274
llvm-svn: 212878
Ed Maste [Sat, 12 Jul 2014 15:21:55 +0000 (15:21 +0000)]
Add FreeBSD decorator for TestMultipleDebuggers
llvm.org/pr20282
llvm-svn: 212877
Alexander Kornienko [Sat, 12 Jul 2014 13:16:58 +0000 (13:16 +0000)]
Fixed compilation errors in tests, enforce checking for errors in check_clang_tidy_fix.sh.
Reviewers: sbenza, djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4480
llvm-svn: 212876
Owen Anderson [Sat, 12 Jul 2014 07:12:47 +0000 (07:12 +0000)]
Fix an issue with the MergeBasicBlockIntoOnlyPred() helper function where it did
not properly handle the case where the predecessor block was the entry block to
the function. The only in-tree client of this is JumpThreading, which worked
around the issue in its own code. This patch moves the solution into the helper
so that JumpThreading (and other clients) do not have to replicate the same fix
everywhere.
llvm-svn: 212875
Hal Finkel [Sat, 12 Jul 2014 04:51:04 +0000 (04:51 +0000)]
Add nonnull in CodeGen for __attribute__((returns_nonnull))
As a follow-up to r212835, also add the LLVM nonnull function attribute when
__attribute__((returns_nonnull)) is provided.
llvm-svn: 212874
Todd Fiala [Sat, 12 Jul 2014 01:12:44 +0000 (01:12 +0000)]
llgs: implement --setsid.
The --setsid (-S) option changes the session id for the lldb-gdbserver process.
This is used by tools such as lldb-platform and allows the user to prevent
llgs from being in the same session as a calling terminal session.
This will prevents terminal group control signals from affecting
lldb-gdbserver.
See also:
https://github.com/tfiala/lldb/issues/38
llvm-svn: 212873
Alexey Samsonov [Sat, 12 Jul 2014 00:42:52 +0000 (00:42 +0000)]
[ASan] Collect unmangled names of global variables in Clang to print them in error reports.
Currently ASan instrumentation pass creates a string with global name
for each instrumented global (to include global names in the error report). Global
name is already mangled at this point, and we may not be able to demangle it
at runtime (e.g. there is no __cxa_demangle on Android).
Instead, create a string with fully qualified global name in Clang, and pass it
to ASan instrumentation pass in llvm.asan.globals metadata. If there is no metadata
for some global, ASan will use the original algorithm.
This fixes https://code.google.com/p/address-sanitizer/issues/detail?id=264.
llvm-svn: 212872
Reid Kleckner [Sat, 12 Jul 2014 00:40:59 +0000 (00:40 +0000)]
Require an x86 registered target for this test by splitting it out
This is a shot in the dark to fix the hexagon bot, so I'm not 100% sure
this is the issue.
llvm-svn: 212871
Matt Arsenault [Sat, 12 Jul 2014 00:36:19 +0000 (00:36 +0000)]
R600: Add missing tests for some intrinsics
llvm-svn: 212870
Reid Kleckner [Sat, 12 Jul 2014 00:29:05 +0000 (00:29 +0000)]
clang-cl: Make all x86 CPU feature flags available, such as -msse3
Ideally, we would use the /arch cl.exe flag for this stuff.
Unfortunately, MSVC supports only 5 /arch flag values, which isn't
nearly enough to cover all the CPU features that LLVM cares about. At
the very least, we need to know about SSE3 and SSE4.1 in addition to
SSE, SSE2, AVX, and AVX2.
In the future we should add the relevant /arch mappings in addition to
these gcc-style -m flags.
llvm-svn: 212869
Duncan P. N. Exon Smith [Sat, 12 Jul 2014 00:26:00 +0000 (00:26 +0000)]
BFI: Add constructor for Weight
llvm-svn: 212868
Greg Clayton [Sat, 12 Jul 2014 00:24:33 +0000 (00:24 +0000)]
lldb needs to support DW_op_piece masks for values in subregister and also to be able to piece together a value that is spread across multiple registers.
Patch from Adrian Prantl.
<rdar://problem/
16040521>
llvm-svn: 212867
Duncan P. N. Exon Smith [Sat, 12 Jul 2014 00:21:30 +0000 (00:21 +0000)]
BFI: Clean up BlockMass
Implementation is small now -- the interesting logic was moved to
`BranchProbability` a while ago. Move it into `bfi_detail` and get rid
of the related TODOs.
I was originally planning to define it within `BlockFrequencyInfoImpl`
(or `BFIIBase`), but it seems cleaner in a namespace. Besides,
`isPodLike` needs to be specialized before `BlockMass` can be used in
some of the other data structures, and there isn't a clear way to do
that.
llvm-svn: 212866
Reid Kleckner [Sat, 12 Jul 2014 00:18:58 +0000 (00:18 +0000)]
Option: Propagate flags from groups to options in each group
This should make it easy to set a flag for a whole group of clang driver
options.
llvm-svn: 212865
Lang Hames [Sat, 12 Jul 2014 00:16:47 +0000 (00:16 +0000)]
[RuntimeDyld] Fix stub size and offset for AArch64 in RuntimeDyldMachO.h.
<rdar://problem/
17648000>
llvm-svn: 212864
Greg Clayton [Sat, 12 Jul 2014 00:11:34 +0000 (00:11 +0000)]
Allow generic ARM cores to match any more specific ARM architecture.
<rdar://problem/
15932248>
llvm-svn: 212863
Reid Kleckner [Sat, 12 Jul 2014 00:06:46 +0000 (00:06 +0000)]
Avoid a warning from MSVC on "*/" in this code by inserting a space
llvm-svn: 212862
Duncan P. N. Exon Smith [Fri, 11 Jul 2014 23:56:50 +0000 (23:56 +0000)]
BFI: Mark the end of namespaces
llvm-svn: 212861
Reid Kleckner [Fri, 11 Jul 2014 23:54:29 +0000 (23:54 +0000)]
Form a CallExpr from __noop without parens
MSVC accepts __noop without any trailing parens and treats it like a
literal zero. We don't treat __noop as an integer literal, but now at
least we can parse a naked __noop expression.
Reviewers: rsmith
Differential Revision: http://reviews.llvm.org/D4476
llvm-svn: 212860
Lang Hames [Fri, 11 Jul 2014 23:52:07 +0000 (23:52 +0000)]
[RuntimeDyld] Add GOT support for AArch64 to RuntimeDyldMachO.
Test cases to follow once RuntimeDyldChecker supports introspection of stubs.
Fixes <rdar://problem/
17648000>
llvm-svn: 212859
Argyrios Kyrtzidis [Fri, 11 Jul 2014 23:47:48 +0000 (23:47 +0000)]
[Driver] clang::driver::getARMCPUForMArch() moved to llvm::Triple::getARMCPUForArch().
Depends on llvm r212846.
Suggested by Eric Christopher.
llvm-svn: 212858
Alexey Samsonov [Fri, 11 Jul 2014 23:34:26 +0000 (23:34 +0000)]
[ASan] Improve ODR-violation error reports.
Demangle names of involved globals. Print a more consistent summary line.
llvm-svn: 212857
Greg Clayton [Fri, 11 Jul 2014 23:15:11 +0000 (23:15 +0000)]
Remove assert now that we have a 'i' character that might come through as well as the 'q' character on the interrupt pipe.
<rdar://problem/
15840749>
llvm-svn: 212856
Juergen Ributzka [Fri, 11 Jul 2014 23:10:08 +0000 (23:10 +0000)]
Revert "[FastISel][X86] Implement the FastLowerIntrinsicCall hook."
This reverts commit r212851, because it broke the memset lowering.
llvm-svn: 212855
Todd Fiala [Fri, 11 Jul 2014 22:50:13 +0000 (22:50 +0000)]
Added llgs --named-pipe support and program_name-version_number printout support.
Added a unit test to test debugserver and llgs compliance on --named-pipe support.
Modified llgs to implement --named-pipe support. (Note: need to revisit with
new generic pipe support).
llvm-svn: 212854
Greg Clayton [Fri, 11 Jul 2014 22:43:15 +0000 (22:43 +0000)]
Don't crash when a SBType is handed out through the API and later used after the module that owns the type is deleted.
The fix adds a std::weak_ptr<Module> into the TypeImpl and fills in the weak pointer when possible. It also checks to make sure the module is still alive prior to using it which should make our API safer to use.
<rdar://problem/
15455145>
llvm-svn: 212853
Greg Clayton [Fri, 11 Jul 2014 22:41:30 +0000 (22:41 +0000)]
Don't use "lldb." global variables in LLDB commands.
llvm-svn: 212852
Juergen Ributzka [Fri, 11 Jul 2014 22:37:43 +0000 (22:37 +0000)]
[FastISel][X86] Implement the FastLowerIntrinsicCall hook.
Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively
implements the target hook.
llvm-svn: 212851
Alexey Samsonov [Fri, 11 Jul 2014 22:36:02 +0000 (22:36 +0000)]
[ASan] Introduce a struct representing the layout of metadata entry in llvm.asan.globals.
No functionality change.
llvm-svn: 212850
Juergen Ributzka [Fri, 11 Jul 2014 22:19:02 +0000 (22:19 +0000)]
[FastISel] Add target-independent patchpoint intrinsic support. WIP.
This implements the target-independent lowering for the patchpoint
intrinsic. Targets have to implement the FastLowerCall
hook to support this intrinsic.
Related to <rdar://problem/
17427052>
llvm-svn: 212849
Juergen Ributzka [Fri, 11 Jul 2014 22:01:42 +0000 (22:01 +0000)]
[FastISel] Add basic infrastructure to support a target-independent call lowering hook in FastISel. WIP
The infrastructure mimics the call lowering we have already in place for
SelectionDAG, but with limitations. For example structure return demotion and
non-simple types are not supported (yet).
Currently every backend has its own implementation and duplicated code for call
lowering. There is also no specified interface that could be called from
target-independent code. The target-hook is opt-in and doesn't affect current
implementations.
llvm-svn: 212848
Aditya Nandakumar [Fri, 11 Jul 2014 21:49:39 +0000 (21:49 +0000)]
When we sink an instruction, this can open up opportunity for the operands to be sunk - add them to the worklist
llvm-svn: 212847
Argyrios Kyrtzidis [Fri, 11 Jul 2014 21:44:54 +0000 (21:44 +0000)]
Move the API and implementation of clang::driver::getARMCPUForMArch() to llvm::Triple::getARMCPUForArch().
Suggested by Eric Christopher.
llvm-svn: 212846
Alp Toker [Fri, 11 Jul 2014 20:53:51 +0000 (20:53 +0000)]
Consolidate header inclusion diagnostics
Make argument orders match, unify diagnostic IDs and reword the message to be a
little less saccharine.
llvm-svn: 212845
Juergen Ributzka [Fri, 11 Jul 2014 20:50:47 +0000 (20:50 +0000)]
[FastISel] Make isInTailCallPosition independent of SelectionDAG.
Break out the arguemnts required from SelectionDAG, so that this function can
also be used by FastISel.
llvm-svn: 212844
Juergen Ributzka [Fri, 11 Jul 2014 20:42:12 +0000 (20:42 +0000)]
[FastISel] Breakout intrinsic lowering into a separate function and add a target-hook.
Create a separate helper function for target-independent intrinsic lowering. Also
add an target-hook that allows to directly call into a target-sepcific intrinsic
lowering method. Currently the implementation is opt-in and doesn't affect
existing target implementations.
llvm-svn: 212843
Kevin Enderby [Fri, 11 Jul 2014 20:30:00 +0000 (20:30 +0000)]
Add the "-s" flag to llvm-nm for Mach-O files that prints symbols only in
the specified section. This is same functionality as darwin’s nm(1) "-s" flag.
There is one FIXME in the code and I’m all ears to anyone that can help me
with that. This option takes exactly two strings and should be allowed
anywhere on the command line. Such that "llvm-nm -s __TEXT __text foo.o"
would work. But that does not as the CommandLine Library does not have a
way to make this work as far as I can tell. For now the "-s __TEXT __text"
has to be last on the command line.
llvm-svn: 212842
David Majnemer [Fri, 11 Jul 2014 20:28:10 +0000 (20:28 +0000)]
CodeGen: Don't emit a thread-wrapper if we can't touch the backing variable
OS X TLS has all accesses going through the thread-wrapper function and
gives the backing thread-local variable internal linkage. This means
that thread-wrappers must have WeakAnyLinkage so that references to the
internal thread-local variables do not get propagated to other code.
It also means that translation units which do not provide a definition
for the thread-local variable cannot attempt to emit a thread-wrapper
because the thread wrapper will attempt to reference the backing
variable.
Differential Revision: http://reviews.llvm.org/D4109
llvm-svn: 212841
Brad Smith [Fri, 11 Jul 2014 20:27:39 +0000 (20:27 +0000)]
oops. correct the prefix.
llvm-svn: 212840
Reid Kleckner [Fri, 11 Jul 2014 20:22:55 +0000 (20:22 +0000)]
MS extension: Make __noop be the integer zero, not void
We still don't accept '__noop;', and we don't consider __noop to be the
integer literal zero. More work is needed.
llvm-svn: 212839
Brad Smith [Fri, 11 Jul 2014 20:12:08 +0000 (20:12 +0000)]
Handle SPARC float command line parameters for SPARCv9.
llvm-svn: 212838
Alp Toker [Fri, 11 Jul 2014 18:23:08 +0000 (18:23 +0000)]
Simplify the raw_svector_ostream tweak from r212816
The memcpy() and overlap helps didn't help much with timings, so clean up the change.
The difference at this point is that we now leave growth of the storage buffer
up to SmallVector's implementation:
- OS.reserve(OS.capacity() * 2);
+ OS.reserve(OS.size() + 64);
llvm-svn: 212837
Richard Smith [Fri, 11 Jul 2014 18:22:58 +0000 (18:22 +0000)]
[modules] When merging a class template, also merge the definition of its pattern.
llvm-svn: 212836
Hal Finkel [Fri, 11 Jul 2014 17:35:21 +0000 (17:35 +0000)]
Add nonnull in CodeGen for __attribute__((nonnull))
We now have an LLVM-level nonnull attribute that can be applied to function
parameters, and we emit it for reference types (as of r209723), but did not
emit it when an __attribute__((nonnull)) was provided. Now we will.
llvm-svn: 212835
Ulrich Weigand [Fri, 11 Jul 2014 17:34:44 +0000 (17:34 +0000)]
[MC] Constify MCELF::GetVisibility and MCELF::getOther
These two routines didn't take a "const MCSymbolData &SD"
like the other MCELF::Get routines for some reason ...
llvm-svn: 212834
Sylvestre Ledru [Fri, 11 Jul 2014 17:23:13 +0000 (17:23 +0000)]
Test for warning being silenced
Summary:
Added some tests to see if the new warning would be silenced with a flag.
Patch by Arthur Marble <arthur@info9.net> in the context of Debian Google Summer of code 2014.
Reviewers: sylvestre.ledru
Reviewed By: sylvestre.ledru
Differential Revision: http://reviews.llvm.org/D4475
llvm-svn: 212833
Ulrich Weigand [Fri, 11 Jul 2014 17:19:31 +0000 (17:19 +0000)]
[PowerPC] Fix invalid displacement created by LocalStackAlloc
This commit fixes a bug in PPCRegisterInfo::isFrameOffsetLegal that
could result in the LocalStackAlloc pass creating an MI instruction
out-of-range displacement:
%vreg17<def> = LD 33184, %vreg31; mem:LD8[%g](align=32)
%G8RC:%vreg17 G8RC_and_G8RC_NOX0:%vreg31
(In final assembler output the top bits are stripped off, resulting
in a negative offset loading from below the stack pointer.)
Common code expects the isFrameOffsetLegal routine to verify whether
adding a given offset to the offset already present in the instruction
results in a valid displacement. However, on PowerPC the routine
did not take the already present instruction offset into account.
This commit fixes isFrameOffsetLegal to add the instruction offset,
and updates a local caller (needsFrameBaseReg) to no longer add the
instruction offset itself before calling isFrameOffsetLegal.
Reviewed by Hal Finkel.
llvm-svn: 212832
Marek Olsak [Fri, 11 Jul 2014 17:11:52 +0000 (17:11 +0000)]
R600/SI: Use i32 vectors for resources and samplers
This affects new intrinsics only.
What surprises me is that v32i8 still works.
llvm-svn: 212831
Marek Olsak [Fri, 11 Jul 2014 17:11:46 +0000 (17:11 +0000)]
R600/SI: add sample and image intrinsics exposing all instruction fields
We need the intrinsics with offsets, so why not just add them all.
The R128 parameter will also be useful for reducing SGPR usage.
GL_ARB_image_load_store also adds some image GLSL modifiers like "coherent",
so Mesa will probably translate those to slc, glc, etc.
When LLVM 3.5 is released, I'll switch Mesa to these new intrinsics.
llvm-svn: 212830
Marek Olsak [Fri, 11 Jul 2014 17:11:39 +0000 (17:11 +0000)]
R600/SI: fix shadow mapping for 1D and 2D array textures
It was conflicting with def TEX_SHADOW_ARRAY, which also handles them.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 212829
Timur Iskhodzhanov [Fri, 11 Jul 2014 16:32:53 +0000 (16:32 +0000)]
Add a test case for r212596
llvm-svn: 212828
Aaron Ballman [Fri, 11 Jul 2014 16:31:29 +0000 (16:31 +0000)]
The returns_nonnull attribute does not require a function prototype because it affects only the return value, not any arguments. In turn, asking for a function or method result type should not require a function prototype either, so getFunctionOrMethodResultType has been relaxed.
llvm-svn: 212827
Dan Albert [Fri, 11 Jul 2014 15:52:58 +0000 (15:52 +0000)]
Support LLVM_LIBDIR_SUFFIX.
This is useful for distros installing under /usr/lib64.
Patch from İsmail Dönmez.
llvm-svn: 212826
Todd Fiala [Fri, 11 Jul 2014 15:43:51 +0000 (15:43 +0000)]
Modify ObjectFileELF::GetArchitecture() to avoid calling ParseSectionHeaders() when we have headers.
Change by Matthew Gardiner.
llvm-svn: 212825
Dan Albert [Fri, 11 Jul 2014 15:36:02 +0000 (15:36 +0000)]
Add support for building and testing the unwinder.
Note: The unwinder currently only works on Darwin and on ARM Linux.
Non-ARM Linux support is not yet implemented, and will fail to build.
llvm-svn: 212824
Kostya Serebryany [Fri, 11 Jul 2014 15:22:45 +0000 (15:22 +0000)]
[asan] fix x32 build, patch by H.J. Lu
llvm-svn: 212823
Todd Fiala [Fri, 11 Jul 2014 15:13:33 +0000 (15:13 +0000)]
Prevent ObjectFileELF::GetSectionHeaderInfo() from reparsing section headers.
If we have any section headers in the collection, we already parsed them.
Therefore, don't reparse the section headers when the section_headers collection
is not empty.
See this thread for more details:
http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-
20140707/011721.html
Change by Matthew Gardiner
llvm-svn: 212822
NAKAMURA Takumi [Fri, 11 Jul 2014 15:06:24 +0000 (15:06 +0000)]
Instantiate llvm::Registry<clang::PluginASTAction> in FrontendAction.cpp.
- Plugins don't need to export _ZN4llvm8Registry*.
- Win32.DLL cannot merge common symbols among DLLs. Static members in llvm::Registry should be instantiated in a parent.
llvm-svn: 212821
NAKAMURA Takumi [Fri, 11 Jul 2014 14:44:10 +0000 (14:44 +0000)]
llvm/test/BugPoint/compile-custom.ll: Use explicit %python to invoke a test script, compile-custom.ll.py, for shebang-incapable hosts.
llvm-svn: 212820
NAKAMURA Takumi [Fri, 11 Jul 2014 14:36:39 +0000 (14:36 +0000)]
llvm/test/lit.cfg: Let %python available.
llvm-svn: 212819
NAKAMURA Takumi [Fri, 11 Jul 2014 14:36:28 +0000 (14:36 +0000)]
[CMake] add_llvm_library: Add "RUNTIME DESTINATION bin" to install(). It affects add_library(SHARED) for Win32.DLL.
llvm-svn: 212818
Zinovy Nis [Fri, 11 Jul 2014 14:28:45 +0000 (14:28 +0000)]
[PATCH] [x32] Introduce -mx32 flag enforcing x32 mode for other triplets. By Pavel Chupin (@pavel.v.chupin).
-mx32 flag setup target environment to GNUX32 and can be used for
other 32/64-bit triplets (i386-unknown-linux, x86_64-unknown-linux) to
turn on x32 mode. Compatible with GCC -mx32 flag.
Differential Revision: http://reviews.llvm.org/D4470
llvm-svn: 212817
Alp Toker [Fri, 11 Jul 2014 14:02:04 +0000 (14:02 +0000)]
raw_svector_ostream: grow and reserve atomically
Including the scratch buffer size in the initial reservation eliminates the
subsequent malloc+move operation and offers a healthier constant growth with
less memory wastage.
When doing this, take care to avoid invalidating the source buffer.
llvm-svn: 212816
Timur Iskhodzhanov [Fri, 11 Jul 2014 13:46:05 +0000 (13:46 +0000)]
[ASan/Win] Don't apply dllexport to __asan_init in the DLL thunk
This fixes '___asan_init_v4 already defined' errors when linking some of Chromium DLLs.
Looks like one of the DLL is using a .lib produced while linking another DLL and it exploded after r212699.
I'm trying to come up with a small testcase...
llvm-svn: 212815
Alexander Kornienko [Fri, 11 Jul 2014 13:44:51 +0000 (13:44 +0000)]
Modify the tests to use FileCheck -implicit-check-not option being proposed in D4462
Reviewers: djasper, sbenza, bkramer
Reviewed By: bkramer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4463
llvm-svn: 212814
Simon Atanasyan [Fri, 11 Jul 2014 13:42:04 +0000 (13:42 +0000)]
[Mips] Make rel-dynamic-11.test test case independent from external input files.
llvm-svn: 212813
Oliver Stannard [Fri, 11 Jul 2014 13:33:46 +0000 (13:33 +0000)]
ARM: Allow __fp16 as a function arg or return type for AArch64
ACLE 2.0 allows __fp16 to be used as a function argument or return
type. This enables this for AArch64.
llvm-svn: 212812
Alexander Kornienko [Fri, 11 Jul 2014 12:54:51 +0000 (12:54 +0000)]
Fixed the test to work with -implicit-check-not.
llvm-svn: 212811
Alexander Kornienko [Fri, 11 Jul 2014 12:39:32 +0000 (12:39 +0000)]
Add FileCheck -implicit-check-not option to allow stricter tests without adding too many CHECK-NOTs manually.
Summary:
Add FileCheck -implicit-check-not option which allows specifying a
pattern that should only occur in the input when explicitly matched by a
positive check. This feature allows checking tool diagnostics in a way
clang -verify does it for compiler diagnostics.
The option has been tested on a number of clang-tidy checks, I'll post a link to
the clang-tidy patch to this thread.
Once there's an agreement on the general direction, I can add tests and
documentation.
Reviewers: djasper, bkramer
Reviewed By: bkramer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D4462
llvm-svn: 212810
Timur Iskhodzhanov [Fri, 11 Jul 2014 12:14:46 +0000 (12:14 +0000)]
[ASan] Print register values in a consistent way
llvm-svn: 212809
Quentin Colombet [Fri, 11 Jul 2014 12:08:23 +0000 (12:08 +0000)]
[X86] Fix the inversion of low and high bits for the lowering of MUL_LOHI.
Also add a few comments.
<rdar://problem/
17581756>
llvm-svn: 212808
Timur Iskhodzhanov [Fri, 11 Jul 2014 11:57:41 +0000 (11:57 +0000)]
[ASan/Win] Catch NULL derefs and page faults
Reviewed at http://reviews.llvm.org/D4471
llvm-svn: 212807
Sylvestre Ledru [Fri, 11 Jul 2014 11:53:18 +0000 (11:53 +0000)]
Tiny improvement in a test (missing quote)
llvm-svn: 212806
Sylvestre Ledru [Fri, 11 Jul 2014 11:43:57 +0000 (11:43 +0000)]
GCC compatibility: Create a Group to ignore unsupported optimization.
Returns a warning when using an unknown optimization flag.
This patch includes -finline-limit as one of those ignored flags.
More options will be moved in this group
Patch by Arthur Marble <arthur@info9.net> in the context of
Debian Google Summer of code 2014.
Reviewers: rnk, Sylvestre
llvm-svn: 212805
Alexey Bataev [Fri, 11 Jul 2014 11:25:16 +0000 (11:25 +0000)]
[OPENMP] Parsing and sema analysis for 'omp task' directive.
llvm-svn: 212804
Marcello Maggioni [Fri, 11 Jul 2014 10:36:00 +0000 (10:36 +0000)]
Added test for commit r212802 that was missing
llvm-svn: 212803
Marcello Maggioni [Fri, 11 Jul 2014 10:34:36 +0000 (10:34 +0000)]
Fixup PHIs in LowerSwitch when a Leaf node is not emitted.
This commit fixes bug http://llvm.org/bugs/show_bug.cgi?id=20103.
Thanks to Qwertyuiop for the report and the proposed fix.
llvm-svn: 212802
Evgeniy Stepanov [Fri, 11 Jul 2014 09:09:37 +0000 (09:09 +0000)]
[msan] A comment for the chained-origin-depot hash function.
llvm-svn: 212801
Tobias Grosser [Fri, 11 Jul 2014 09:02:41 +0000 (09:02 +0000)]
Remove unnecessary isl annotations
They where just left over from copy-pasting.
Reported-by: Johannes Doerfert <jdoerfert@codeaurora.org>
llvm-svn: 212800
Evgeniy Stepanov [Fri, 11 Jul 2014 08:57:57 +0000 (08:57 +0000)]
[msan] Use real memset/memcpy/memmove in interceptors.
Our versions are not exactly as fast as libc's, and
MSan uses them heavily (even compared to other sanitizers).
This will break if libc version of mem* are instrumented,
but they never are, and if they are, we should be able
to fix it on libc side.
llvm-svn: 212799
Evgeniy Stepanov [Fri, 11 Jul 2014 08:47:51 +0000 (08:47 +0000)]
[msan] Make one test case less brittle.
llvm-svn: 212798
Benjamin Kramer [Fri, 11 Jul 2014 08:08:47 +0000 (08:08 +0000)]
[clang-tidy] Add a checker for implicit bool conversion of a bool*.
The goal is to find code like the example below, which is likely a typo
where someone meant to write "if (*b)".
bool *b = SomeFunction();
if (b) {
// b never dereferenced
}
This checker naturally has a relatively high false positive rate so it
applies some heuristics to avoid cases where the pointer is checked for
nullptr before being written.
Differential Revision: http://reviews.llvm.org/D4458
llvm-svn: 212797
Tobias Grosser [Fri, 11 Jul 2014 07:12:10 +0000 (07:12 +0000)]
DeadCodeElim: Compute correct liveout for non-affine accesses
Thanks to Johannes Doerfert for narrowing down the bug.
Reported-by: Chris Jenneisch <chrisj@codeaurora.org>
llvm-svn: 212796
Adam Nemet [Fri, 11 Jul 2014 05:23:25 +0000 (05:23 +0000)]
[X86] AVX512: Improve readability of isCDisp8
No functional change. As I was trying to understand this function, I found
that variables were reused with confusing names and the broadcast case was a
bit too implicit. Hopefully, this is an improvement.
llvm-svn: 212795
Adam Nemet [Fri, 11 Jul 2014 05:23:12 +0000 (05:23 +0000)]
[X86] AVX512: Simplify logic in isCDisp8
It was computing the VL/n case as:
MemObjSize = VectorByteSize / ElemByteSize / Divider * ElemByteSize
ElemByteSize not only falls out but VectorByteSize/Divider now actually
matches the definition of VL/n.
Also some formatting fixes.
llvm-svn: 212794
David Blaikie [Fri, 11 Jul 2014 02:42:57 +0000 (02:42 +0000)]
Revert "Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself.""
This reverts commit r212776.
Nope, still seems to be failing on the sanitizer bots... but hey, not
the msan self-host anymore, it's failing in asan now. I'll start looking
there next.
llvm-svn: 212793
Greg Clayton [Fri, 11 Jul 2014 01:03:57 +0000 (01:03 +0000)]
Enable the ability to enable debug info generation when evaluating expressions.
llvm-svn: 212792
Greg Clayton [Fri, 11 Jul 2014 00:51:53 +0000 (00:51 +0000)]
Remove code that was merged incorrectly.
llvm-svn: 212791
Ben Langmuir [Fri, 11 Jul 2014 00:43:47 +0000 (00:43 +0000)]
Don't assume StringRef.data() is null-terminated
llvm-svn: 212790
NAKAMURA Takumi [Fri, 11 Jul 2014 00:32:35 +0000 (00:32 +0000)]
TestAfterDivZeroChecker.cpp: Avoid member initializer. It is unsupported in msc17.
llvm-svn: 212789
Richard Smith [Fri, 11 Jul 2014 00:20:06 +0000 (00:20 +0000)]
[modules] Don't try to merge template specializations by performing name lookup
into their container; we won't find them there. These things are already being
merged when they're added to their primary template's folding set, so this
merging is redundant (and causes us to reject-valid because we think we've
found an odr violation).
llvm-svn: 212788
NAKAMURA Takumi [Fri, 11 Jul 2014 00:18:29 +0000 (00:18 +0000)]
clang/test/CodeGenCXX/PR20038.cpp: Appease targeting msvc due to incompatibility of dw.
llvm-svn: 212787