Greg Clayton [Fri, 23 Jan 2015 23:18:53 +0000 (23:18 +0000)]
Adding the ability to get the language from a mangled name. This isn't used in the SVN LLDB, but will be used in another codebase based on the SVN LLDB.
llvm-svn: 226962
Justin Bogner [Fri, 23 Jan 2015 23:09:27 +0000 (23:09 +0000)]
llvm-cov: Don't use llvm::outs() in library code
Nothing in lib/ should be using llvm::outs() directly. Thread it in
from the caller instead.
llvm-svn: 226961
Justin Bogner [Fri, 23 Jan 2015 22:57:02 +0000 (22:57 +0000)]
llvm-cov: Use range-for (NFC)
llvm-svn: 226960
Vince Harron [Fri, 23 Jan 2015 22:57:00 +0000 (22:57 +0000)]
Fixing TestRegisters on Linux with LLGS
This patch fixes TestRegisters on Linux with LLGS
Introduce GetUserRegisterCount on RegisterInfoInterface to distinguish
lldb internal registers (e.g.: DR0-DR7) during register counting.
Update GDBRemoteCommunicationServer to skip lldb internal registers on
read/write register and on discover register.
Submitted for Tamas Berghammer
llvm-svn: 226959
Reid Kleckner [Fri, 23 Jan 2015 22:55:31 +0000 (22:55 +0000)]
mips: Fix "XPASS" test results by removing 'not' commands
These tests are asserting and crashing for me, and 'not' sees that as a
non-zero exit code instead of a signal code for obscure Windows reasons.
This causes the test to pass, giving me an unclean 'ninja check'.
The test is already XFAILd, so just run the test without 'not' and let
lit handle the failure.
llvm-svn: 226958
Vince Harron [Fri, 23 Jan 2015 22:50:34 +0000 (22:50 +0000)]
Renamed UpdateSDKDirectoryInfosInNeeded->IfNeeded
Also removed extra call to UpdateSDKDirectoryInfosIfNeeded
llvm-svn: 226957
Vince Harron [Fri, 23 Jan 2015 22:48:28 +0000 (22:48 +0000)]
fixed up some logging messages (options and wait_pid were swapped)
llvm-svn: 226956
David Blaikie [Fri, 23 Jan 2015 22:48:27 +0000 (22:48 +0000)]
DebugInfo: Remove outdated comment. Column info is no longer needed to differentiate inline callsites.
llvm-svn: 226955
David Blaikie [Fri, 23 Jan 2015 22:47:05 +0000 (22:47 +0000)]
Disable warnings in an IRGen test to make test failures less noisy
llvm-svn: 226954
Bruno Cardoso Lopes [Fri, 23 Jan 2015 22:44:16 +0000 (22:44 +0000)]
[x86] Combine x86mmx/i64 to v2i64 conversion to use scalar_to_vector
Handle the poor codegen for i64/x86xmm->v2i64 (%mm -> %xmm) moves. Instead of
using stack store/load pair to do the job, use scalar_to_vector directly, which
in the MMX case can use movq2dq. This was the current behavior prior to
improvements for vector legalization of extloads in r213897.
This commit fixes the regression and as a side-effect also remove some
unnecessary shuffles.
In the new attached testcase, we go from:
pshufw $-18, (%rdi), %mm0
movq %mm0, -8(%rsp)
movq -8(%rsp), %xmm0
pshufd $-44, %xmm0, %xmm0
movd %xmm0, %eax
...
To:
pshufw $-18, (%rdi), %mm0
movq2dq %mm0, %xmm0
movd %xmm0, %eax
...
Differential Revision: http://reviews.llvm.org/D7126
rdar://problem/
19413324
llvm-svn: 226953
Justin Bogner [Fri, 23 Jan 2015 22:38:01 +0000 (22:38 +0000)]
llvm-cov: clang-format the GCOV files (NFC)
llvm-svn: 226952
Filipe Cabecinhas [Fri, 23 Jan 2015 22:32:12 +0000 (22:32 +0000)]
[lld] Added REQUIRES lines to tests
llvm-svn: 226951
Filipe Cabecinhas [Fri, 23 Jan 2015 22:32:05 +0000 (22:32 +0000)]
[lld] Re-add REQUIRES line
Please don't remove REQUIRES lines when refreshing tests.
llvm-svn: 226950
Reid Kleckner [Fri, 23 Jan 2015 22:25:47 +0000 (22:25 +0000)]
Fix the MSVC build with the new Orc JIT APIs
llvm-svn: 226949
Michael J. Spencer [Fri, 23 Jan 2015 22:24:57 +0000 (22:24 +0000)]
[YAMLIO] Dirty hack: Force integral conversion to allow strong typedefs to convert.
llvm-svn: 226948
Eric Fiselier [Fri, 23 Jan 2015 22:22:36 +0000 (22:22 +0000)]
Get libc++ building on Sun Solaris. Patch from C Bergstrom.
llvm-svn: 226947
Lang Hames [Fri, 23 Jan 2015 22:11:07 +0000 (22:11 +0000)]
[Orc] Remove a bunch of constructors from ObjectLinkingLayer.
These constructors were causing trouble for MSVC and older GCCs. This should
fix more of the build failures from r226940.
llvm-svn: 226946
Tom Stellard [Fri, 23 Jan 2015 22:05:45 +0000 (22:05 +0000)]
R600/SI: Move i64 -> v2i32 load promotion into AMDGPUDAGToDAGISel::Select()
We used to do this promotion during DAG legalization, but this
caused an infinite loop in ExpandUnalignedLoad() because it assumed
that i64 loads were legal if i64 was a legal type.
It also seems better to report i64 loads as legal, since they actually
are and we were just promoting them to simplify our tablegen files.
llvm-svn: 226945
Fariborz Jahanian [Fri, 23 Jan 2015 21:58:46 +0000 (21:58 +0000)]
Objective-C moderinzer [qoi], add space on rhs when needed when
converting to property-dot syntax for setters.
rdar://
19381786
llvm-svn: 226944
Michael J. Spencer [Fri, 23 Jan 2015 21:58:09 +0000 (21:58 +0000)]
[Object][ELF] Test unknown type.
llvm-svn: 226943
Michael J. Spencer [Fri, 23 Jan 2015 21:57:50 +0000 (21:57 +0000)]
[YAMLIO] Add support for numeric values in enums.
llvm-svn: 226942
Lang Hames [Fri, 23 Jan 2015 21:49:12 +0000 (21:49 +0000)]
[Orc] LLVMLinkInOrcMCJITReplacement shouldn't be in the anonymous namespace.
This should fix some of the builder errors from r226940.
llvm-svn: 226941
Lang Hames [Fri, 23 Jan 2015 21:25:00 +0000 (21:25 +0000)]
[Orc] New JIT APIs.
This patch adds a new set of JIT APIs to LLVM. The aim of these new APIs is to
cleanly support a wider range of JIT use cases in LLVM, and encourage the
development and contribution of re-usable infrastructure for LLVM JIT use-cases.
These APIs are intended to live alongside the MCJIT APIs, and should not affect
existing clients.
Included in this patch:
1) New headers in include/llvm/ExecutionEngine/Orc that provide a set of
components for building JIT infrastructure.
Implementation code for these headers lives in lib/ExecutionEngine/Orc.
2) A prototype re-implementation of MCJIT (OrcMCJITReplacement) built out of the
new components.
3) Minor changes to RTDyldMemoryManager needed to support the new components.
These changes should not impact existing clients.
4) A new flag for lli, -use-orcmcjit, which will cause lli to use the
OrcMCJITReplacement class as its underlying execution engine, rather than
MCJIT itself.
Tests to follow shortly.
Special thanks to Michael Ilseman, Pete Cooper, David Blaikie, Eric Christopher,
Justin Bogner, and Jim Grosbach for extensive feedback and discussion.
llvm-svn: 226940
Adrian Prantl [Fri, 23 Jan 2015 21:24:41 +0000 (21:24 +0000)]
Move the accessor functions from DIExpression::iterator into a wrapper
DIExpression::Operand, so we can write range-based for loops.
Thanks to David Blaikie for the idea.
llvm-svn: 226939
Sergey Matveev [Fri, 23 Jan 2015 21:12:39 +0000 (21:12 +0000)]
[sanitizer] Update descriptor size for glibc 2.13.
See https://code.google.com/p/address-sanitizer/issues/detail?id=361
It's still not clear whether the values are correct in all cases, but at least
this should unbreak our bots.
llvm-svn: 226938
Reid Kleckner [Fri, 23 Jan 2015 21:11:40 +0000 (21:11 +0000)]
lit: Make MCJIT's supported arch check case insensitive
Should make the tests run when using CMake on systems where 'uname -p'
reports "amd64", such as FreeBSD.
Should fix PR21559.
llvm-svn: 226937
Kevin Enderby [Fri, 23 Jan 2015 21:02:44 +0000 (21:02 +0000)]
Fix the problem with llvm-objdump and -archive-headers in printing the archive header size field.
This problem showed up with the clang-cmake-armv7-a15-full bot. Thanks to Renato Golin for his help.
llvm-svn: 226936
Alexei Starovoitov [Fri, 23 Jan 2015 21:00:08 +0000 (21:00 +0000)]
[mips] fix spelling of 'disassembler'
trivial first commit
llvm-svn: 226935
Hans Wennborg [Fri, 23 Jan 2015 20:43:51 +0000 (20:43 +0000)]
LowerSwitch: replace unreachable default with popular case destination
SimplifyCFG currently does this transformation, but I'm planning to remove that
to allow other passes, such as this one, to exploit the unreachable default.
This patch takes care to keep track of what case values are unreachable even
after the transformation, allowing for more efficient lowering.
Differential Revision: http://reviews.llvm.org/D6697
llvm-svn: 226934
Oleksiy Vyalov [Fri, 23 Jan 2015 20:09:14 +0000 (20:09 +0000)]
Fix CMake build - add readline dependency on ${PYTHON_LIBRARY}.
llvm-svn: 226933
Colin LeMahieu [Fri, 23 Jan 2015 20:06:24 +0000 (20:06 +0000)]
[Objdump] Output information about common symbols in a way closer to GNU objdump.
llvm-svn: 226932
Ramkumar Ramachandra [Fri, 23 Jan 2015 19:45:35 +0000 (19:45 +0000)]
[emacs] llvm-mode: fix parens, font-lock i*
In llvm-mode, with electric-pair-mode turned on, typing a literal '['
would print out '[[', and '(' would print a '(('. This was a very
annoying bug caused by overzealous syntax-table entries: the parens are
already part of the '(' and ')' class by default. Fix this.
While at it, notice that i32, i64, i1 etc. are not font-locked despite a
clear intent to do so. The issue is that regexp-opt doesn't accept
regular expressions. So, spell out the common literal integers with
different widths.
Differential Revision: http://reviews.llvm.org/D7036
llvm-svn: 226931
Daniel Jasper [Fri, 23 Jan 2015 19:37:25 +0000 (19:37 +0000)]
clang-format: Fix another crasher caused by incomplete macro code.
We did't properly mark all of an AnnotatedLine's children as finalized
and thus would reformat the same tokens in different branches of #if/#else
sequences leading to invalid replacements.
llvm-svn: 226930
Kuba Brecka [Fri, 23 Jan 2015 19:29:19 +0000 (19:29 +0000)]
[compiler-rt] Ensure AsanInitFromRtl is called from a static initializer on OS X by using ASAN_DYNAMIC=1
The idea is to ensure that the ASan runtime gets initialized early (i.e.
before other initializers/constructors) even when DYLD_INSERT_LIBRARIES
is not used. In that case, the interceptors are not installed (on OS X,
DYLD_INSERT_LIBRARIES is required for interceptors to work), and therefore
ASan gets currently initialized quite late -- from the main executable's
module initializer. The following issues are a consequence of this:
https://code.google.com/p/address-sanitizer/issues/detail?id=363
https://code.google.com/p/address-sanitizer/issues/detail?id=357
Both of them are fixed with this patch.
Reviewed at http://reviews.llvm.org/D7117
llvm-svn: 226929
Greg Fitzgerald [Fri, 23 Jan 2015 19:24:32 +0000 (19:24 +0000)]
Revert " Fix the ELF shared library build targets"
This reverts commit
6a3f545b44cea46321e025d9ab773786af86cb51.
llvm-svn: 226928
Fariborz Jahanian [Fri, 23 Jan 2015 19:23:42 +0000 (19:23 +0000)]
Objective-C modernizer. Avoid using property-dot syntax when
receiver type is not valid for property-dot syntz use.
rdar://
19381786
llvm-svn: 226927
Kuba Brecka [Fri, 23 Jan 2015 19:17:20 +0000 (19:17 +0000)]
[compiler-rt] Fix the prototype of ioctl interceptor
The interceptor of ioctl is using a non-standard prototype:
INTERCEPTOR(int, ioctl, int d, unsigned request, void *arg)
At least on OS X, the request argument should be unsigned long and not
just unsigned, and also instead of the last argument (arg), the function
should be accepting a variable number of arguments, so the prototype
should be:
int ioctl(int fildes, unsigned long request, ...);
We can still keep using `unsigned` internally to save space, because we
know that all possible values of `request` will fit into it.
Reviewed at http://reviews.llvm.org/D7038
llvm-svn: 226926
Reid Kleckner [Fri, 23 Jan 2015 19:16:25 +0000 (19:16 +0000)]
Attempt to fix ::sscanf Cygwin build break reported in PR22302
llvm-svn: 226925
Francisco Lopes da Silva [Fri, 23 Jan 2015 19:06:57 +0000 (19:06 +0000)]
Add tests for code completion of variadic prototypes
llvm-svn: 226924
Daniel Jasper [Fri, 23 Jan 2015 19:04:49 +0000 (19:04 +0000)]
clang-format: Fix incorrect classification of "*".
Before:
*a = b *c;
After:
*a = b * c;
llvm-svn: 226923
Greg Fitzgerald [Fri, 23 Jan 2015 18:52:44 +0000 (18:52 +0000)]
Fix the ELF shared library build targets
lldELF is used by each ELF backend. lldELF's ELFLinkingContext
also held a reference to each backend, creating a link-time
cycle. This patch moves the backend references to lldDriver.
Differential Revision: http://reviews.llvm.org/D7119
llvm-svn: 226922
Kevin Enderby [Fri, 23 Jan 2015 18:52:17 +0000 (18:52 +0000)]
Add the option, -data-in-code, to llvm-objdump used with -macho to print the Mach-O data in code table.
llvm-svn: 226921
Reid Kleckner [Fri, 23 Jan 2015 18:49:01 +0000 (18:49 +0000)]
Classify functions by EH personality type rather than using the triple
This mostly reverts commit r222062 and replaces it with a new enum. At
some point this enum will grow at least for other MSVC EH personalities.
Also beefs up the way we were sniffing the personality function.
Previously we would emit the Itanium LSDA despite using
__C_specific_handler.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D6987
llvm-svn: 226920
Adrian Prantl [Fri, 23 Jan 2015 18:01:39 +0000 (18:01 +0000)]
Debug Info / PR22309: Allow union types to be emitted as unsigned constants.
llvm-svn: 226919
Eric Christopher [Fri, 23 Jan 2015 17:22:44 +0000 (17:22 +0000)]
Remove some local variables in place of just querying for them
in the couple of asserts.
llvm-svn: 226917
Sanjay Patel [Fri, 23 Jan 2015 16:40:50 +0000 (16:40 +0000)]
Process the -fno-signed-zeros optimization flag (PR20870)
The driver currently accepts but ignores the -fno-signed-zeros flag.
This patch passes the flag through and enables 'nsz' fast-math-flag
generation in IR.
The existing OpenCL flag for the same functionality is made into an
alias here. It may be removed in a subsequent patch.
This should resolve bug 20870 ( http://llvm.org/bugs/show_bug.cgi?id=20870 );
patches for the optimizer were checked in at:
http://llvm.org/viewvc/llvm-project?view=revision&revision=225050
http://llvm.org/viewvc/llvm-project?view=revision&revision=224583
Differential Revision: http://reviews.llvm.org/D6873
llvm-svn: 226915
Alexander Kornienko [Fri, 23 Jan 2015 15:36:10 +0000 (15:36 +0000)]
Replace size() calls on containers with empty() calls where appropriate. NFC
http://reviews.llvm.org/D7090
Patch by Gábor Horváth!
llvm-svn: 226914
Evgeniy Stepanov [Fri, 23 Jan 2015 15:14:27 +0000 (15:14 +0000)]
[sanitizer] Fix an edge case in MemoryRangeIsAvailable.
llvm-svn: 226913
Alexander Kornienko [Fri, 23 Jan 2015 15:10:37 +0000 (15:10 +0000)]
[clang-tidy] Use shrink_to_fit instead of copy and swap trick
The shrink_to_fit() method is more readable and more effective than
the copy and swap trick to reduce the capacity of a shrinkable container.
Note that, the shrink_to_fit() method is only available in C++11 and up.
Example:
std::vector<int>(v).swap(v); will be replaced with v.shrink_to_fit();
http://reviews.llvm.org/D7087
Patch by Gábor Horváth!
llvm-svn: 226912
Alexander Kornienko [Fri, 23 Jan 2015 14:43:06 +0000 (14:43 +0000)]
[clang-tidy] Small readability-container-size-empty cleanup
Utilized the hasEitherOperand instead of explicit anyOf.
http://reviews.llvm.org/D7142
Patch by Gábor Horváth!
llvm-svn: 226911
Viktor Kutuzov [Fri, 23 Jan 2015 14:39:23 +0000 (14:39 +0000)]
[Sanitizers] Intercept statfs() on FreeBSD
Committed unreviewed with permission.
llvm-svn: 226910
Deepak Panickal [Fri, 23 Jan 2015 14:31:56 +0000 (14:31 +0000)]
Fix handling of data-disassemble command arguments.
llvm-svn: 226909
Francisco Lopes da Silva [Fri, 23 Jan 2015 13:17:51 +0000 (13:17 +0000)]
Sema: code completion for variadic prototypes.
llvm-svn: 226908
Tamas Berghammer [Fri, 23 Jan 2015 11:02:28 +0000 (11:02 +0000)]
Cleanup do-gtest.py
* Add comments
* Refactor output manipulation (cleanup + minor bug fixes)
* Add better error reporting on test failure
llvm-svn: 226907
Tamas Berghammer [Fri, 23 Jan 2015 10:54:21 +0000 (10:54 +0000)]
Fix indentation in ValueObject.cpp (test commit)
llvm-svn: 226906
Toma Tabacu [Fri, 23 Jan 2015 10:40:19 +0000 (10:40 +0000)]
[mips] Add new error message and improve testing for parsing the .module directive.
Summary:
We used to silently ignore any empty .module's and we used to give an error saying that we found
an "unexpected token at start of statement" when the value of the option wasn't an identifier (e.g. if it was a number).
We now give an error saying that we "expected .module option identifier" in both of those cases.
I also fixed the other tests in mips-abi-bad.s, which all seemed to be broken.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7095
llvm-svn: 226905
Jyoti Allur [Fri, 23 Jan 2015 09:10:03 +0000 (09:10 +0000)]
This patch fixes issue with lowering below mentioned pattern :-
_foo:
smull r0, r1, r1, r0
smull r2, r3, r3, r2
adds r0, r2, r0
adc r1, r3, r1
bx lr
to
_foo:
smull r0, r1, r1, r0
smlal r0, r1, r3, r2
bx lr
llvm-svn: 226904
Denis Protivensky [Fri, 23 Jan 2015 08:56:47 +0000 (08:56 +0000)]
Test commit.
llvm-svn: 226903
Craig Topper [Fri, 23 Jan 2015 08:00:59 +0000 (08:00 +0000)]
[x86] Change u8imm operands to always print as unsigned. This makes shuffle masks and the like make way more sense.
llvm-svn: 226902
Mehdi Amini [Fri, 23 Jan 2015 07:07:20 +0000 (07:07 +0000)]
DAGCombine: always constant fold FMA when target disable FP exceptions
Summary: When trying to constant fold an FMA in the DAG, getNode()
fails to fold the FMA if an operand is not finite. In this case this
patch allows the constant folding if !TLI->hasFloatingPointExceptions()
Reviewers: resistor
Reviewed By: resistor
Subscribers: hfinkel, llvm-commits
Differential Revision: http://reviews.llvm.org/D6912
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 226901
Filipe Cabecinhas [Fri, 23 Jan 2015 06:59:51 +0000 (06:59 +0000)]
Add USES_TERMINAL to libcxx lit tests, if available
llvm-svn: 226900
Lang Hames [Fri, 23 Jan 2015 06:25:17 +0000 (06:25 +0000)]
[ADT] Add move operations to SmallVector<T,N> from SmallVectorImpl<T>.
This makes it possible to move between SmallVectors of different sizes.
Thanks to Dave Blaikie and Duncan Smith for patch feedback.
llvm-svn: 226899
Craig Topper [Fri, 23 Jan 2015 06:18:35 +0000 (06:18 +0000)]
Fix 80 column violation
llvm-svn: 226898
Craig Topper [Fri, 23 Jan 2015 06:11:45 +0000 (06:11 +0000)]
[X86] Add IntrNoMem to the AVX512 conflict intrinsics.
llvm-svn: 226897
Rafael Espindola [Fri, 23 Jan 2015 05:26:38 +0000 (05:26 +0000)]
[pr22293] Don't crash during codegen of a recursive destructor.
In ItaniumCXXABI::EmitCXXDestructors we first emit the base destructor
and then try to emit the complete one as an alias.
If in the base ends up calling the complete destructor, the GD for the
complete will be in the list of deferred decl by the time we replace
it with an alias and delete the original GV.
llvm-svn: 226896
Rafael Espindola [Fri, 23 Jan 2015 04:44:35 +0000 (04:44 +0000)]
Add STB_GNU_UNIQUE to the ELF writer.
This lets llvm-mc assemble files produced by gcc.
llvm-svn: 226895
Rui Ueyama [Fri, 23 Jan 2015 01:44:51 +0000 (01:44 +0000)]
Don't use iterator for the same reason as r226883.
llvm-svn: 226893
Jason Molenda [Fri, 23 Jan 2015 01:34:19 +0000 (01:34 +0000)]
debug printfs that got left in. I blame greg.
llvm-svn: 226892
Kate Stone [Fri, 23 Jan 2015 01:06:10 +0000 (01:06 +0000)]
Workaround for what looks like an OS X-specific libedit issue
Other platforms may benefit from something similar if issues arise. The
libedit library doesn't explicitly initialize the curses termcap library,
which it gets away with until TERM is set to VT100 where it stumbles over
an implementation assumption that may not exist on other platforms.
<rdar://problem/
17581929>
llvm-svn: 226891
NAKAMURA Takumi [Fri, 23 Jan 2015 01:05:12 +0000 (01:05 +0000)]
Prune an out-of-date \param since r226476. [-Wdocumentation]
llvm-svn: 226890
Jason Molenda [Fri, 23 Jan 2015 01:02:32 +0000 (01:02 +0000)]
Two fixes for compact unwind decoding for frameless large-stack-size
i386/x86_64 functions. The stack size was being multiplied by the
pointer size incorrectly. The register permutation placeholders
(UNWIND_X86_REG_NONE) were decrementing the stack offset of the
saved registers when it should not have been.
<rdar://problem/
19570035>
llvm-svn: 226889
NAKAMURA Takumi [Fri, 23 Jan 2015 01:02:07 +0000 (01:02 +0000)]
Reformat.
llvm-svn: 226888
NAKAMURA Takumi [Fri, 23 Jan 2015 01:01:52 +0000 (01:01 +0000)]
MipsAsmParser.cpp: Suppress a warning introduced in r226657. [-Wunused-variable]
llvm-svn: 226887
Jim Ingham [Fri, 23 Jan 2015 00:39:13 +0000 (00:39 +0000)]
Remove the "/" from the end of rpath paths. Having it there causes the
paths we get from dladdr to have "//" in it internally, and while that is
formally correct it is just asking for somebody to misparse it...
llvm-svn: 226886
Richard Smith [Fri, 23 Jan 2015 00:30:44 +0000 (00:30 +0000)]
Fix reference to sysroot in this test (broken in r226875).
llvm-svn: 226885
Kuba Brecka [Fri, 23 Jan 2015 00:14:22 +0000 (00:14 +0000)]
Fix the extra whitespace from r226878.
llvm-svn: 226884
Rui Ueyama [Fri, 23 Jan 2015 00:09:05 +0000 (00:09 +0000)]
Make access to LinkingContext::getNode safe.
llvm-svn: 226883
Richard Smith [Fri, 23 Jan 2015 00:01:13 +0000 (00:01 +0000)]
PR22299: Relocate code for handling -fmodule-map-file= so that we don't try to
produce diagnostics with source locations before the diagnostics system is
ready for them.
llvm-svn: 226882
Jan Vesely [Thu, 22 Jan 2015 23:42:43 +0000 (23:42 +0000)]
R600: Try to use lower types for 64bit division if possible
v2: add and enable tests for SI
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com>
llvm-svn: 226881
Jan Vesely [Thu, 22 Jan 2015 23:42:41 +0000 (23:42 +0000)]
SelectionDAG: Add KnownBits and SignBits computation for EXTRACT_ELEMENT
v2: use getZExtValue
add missing break
codestyle
v3: add few more comments
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com>
llvm-svn: 226880
Jan Vesely [Thu, 22 Jan 2015 23:42:39 +0000 (23:42 +0000)]
R600: Simplify LowerUDIVREM
optimizations can handle removing the Hi part operations.
The generated code is identical for R600, ~10% icount reduction for SI
v2: rebase
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com>
llvm-svn: 226879
Kuba Brecka [Thu, 22 Jan 2015 23:36:47 +0000 (23:36 +0000)]
Fix/workaround for OS X truncated stacktraces taken by external tools
This patch is a proposed solution for https://code.google.com/p/address-sanitizer/issues/detail?id=375:
When the stacktraces are captured and printed by ASan itself, they are fine, but when the program has already printed the report (or is just printing it), capturing a stacktrace via other means is broken. "Other means" include OS X CrashReporter, debuggers or calling backtrace() within the program. For example calling backtrace() from a sanitizer_set_death_callback function prints a very truncated stacktrace.
Reviewed at http://reviews.llvm.org/D7103
llvm-svn: 226878
Simon Atanasyan [Thu, 22 Jan 2015 23:16:48 +0000 (23:16 +0000)]
[Mips] Fix type of 64-bit integer in case of MIPS N64 ABI
Differential Revision: http://reviews.llvm.org/D7127
llvm-svn: 226877
Duncan P. N. Exon Smith [Thu, 22 Jan 2015 23:10:55 +0000 (23:10 +0000)]
IR: Change GenericDwarfNode::getHeader() to StringRef
Simplify the API to use a `StringRef` directly rather than exposing the
`MDString` bits underneath.
llvm-svn: 226876
Richard Smith [Thu, 22 Jan 2015 23:07:47 +0000 (23:07 +0000)]
Reorganize test/Modules:
* Put all input files under Inputs/, move corresponding tests into test/Modules.
* Rename a modulemap test file to [...].modulemap, and teach lit that such files are tests.
llvm-svn: 226875
Duncan P. N. Exon Smith [Thu, 22 Jan 2015 22:47:44 +0000 (22:47 +0000)]
IR: DwarfNode => DebugNode, NFC
These things are potentially used for non-DWARF data (see the discussion
in PR22235), so take the `Dwarf` out of the name. Since the new name
gives fewer clues, update the doxygen to properly describe what they
are.
llvm-svn: 226874
Simon Pilgrim [Thu, 22 Jan 2015 22:39:59 +0000 (22:39 +0000)]
[X86][AVX] Added (V)MOVDDUP / (V)MOVSLDUP / (V)MOVSHDUP memory folding + tests.
Minor tweak now that D7042 is complete, we can enable stack folding for (V)MOVDDUP and do proper testing.
Added missing AVX ymm folding patterns and fixed alignment for AVX VMOVSLDUP / VMOVSHDUP.
llvm-svn: 226873
Simon Pilgrim [Thu, 22 Jan 2015 22:27:37 +0000 (22:27 +0000)]
Line endings fixes. NFC.
llvm-svn: 226872
Simon Pilgrim [Thu, 22 Jan 2015 22:19:58 +0000 (22:19 +0000)]
[X86][SSE] Simplified PSUBUS tests
Removed loops from PSUBUS tests - ensures folding is tested. Also renamed SSE2 tests SSSE3 to match cpu.
This is a follow up commit agreed in http://reviews.llvm.org/D7094
llvm-svn: 226871
Hans Wennborg [Thu, 22 Jan 2015 22:11:56 +0000 (22:11 +0000)]
Make the ?: precedence warning handle pointers to the left of ?
Previously, Clang would fail to warn on:
int n = x + foo ? 1 : 2;
when foo is a pointer.
llvm-svn: 226870
Lang Hames [Thu, 22 Jan 2015 22:04:47 +0000 (22:04 +0000)]
[Object] Fix a bug in a condition introduced in r226217 - visibility can't be
both hidden and default.
Bug found by inspection by Rafael Espindola. No test: As discussed in the commit
message for r226217 we don't have a good way to test this yet.
llvm-svn: 226869
Chandler Carruth [Thu, 22 Jan 2015 21:53:09 +0000 (21:53 +0000)]
[PM] Actually add the new pass manager support for the assumption cache.
I had already factored this analysis specifically to enable doing this,
but hadn't actually committed the necessary wiring to get at this from
the new pass manager. This also nicely shows how the separate cache
object can be directly managed by the new pass manager.
This analysis didn't have any direct tests and so I've added a printer
pass and a boring test case. I chose to print the i1 value which is
being assumed rather than the call to llvm.assume as that seems much
more useful for testing... but suggestions on an even better printing
strategy welcome. My main goal was to make sure things actually work. =]
llvm-svn: 226868
Benjamin Kramer [Thu, 22 Jan 2015 21:43:01 +0000 (21:43 +0000)]
Remove dead leak detector parts that fell out of use in r224703.
llvm-svn: 226867
Duncan P. N. Exon Smith [Thu, 22 Jan 2015 21:36:45 +0000 (21:36 +0000)]
IR: Update references to temporaries before deleting
During `MDNode::deleteTemporary()`, call `replaceAllUsesWith(nullptr)`
to update all tracking references to `nullptr`.
This fixes PR22280, where inverted destruction order between tracking
references and the temporaries themselves caused a use-after-free in
`LLParser`.
An alternative fix would be to add an assertion that there are no users,
and continue to fix inverted destruction order in clients (like
`LLParser`), but instead I decided to make getting-teardown-right easy.
(If someone disagrees let me know.)
llvm-svn: 226866
Francisco Lopes da Silva [Thu, 22 Jan 2015 21:14:08 +0000 (21:14 +0000)]
Sema: code completion for pointer and reference to functions.
llvm-svn: 226865
Chris Bieneman [Thu, 22 Jan 2015 21:01:12 +0000 (21:01 +0000)]
Refactoring cl::parser construction and initialization.
Summary:
Some parsers need references back to the option they are members of. This is used for handling the argument string as well as by the various pass name parsers for making pass names into flags.
Making parsers that need to refer back to the option have a reference to the option eliminates some of the members of various parsers, and enables further code cleanup.
Reviewers: dexonsmith
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7131
llvm-svn: 226864
Joerg Sonnenberger [Thu, 22 Jan 2015 21:01:00 +0000 (21:01 +0000)]
When reporting constraints that should be constant, the type doesn't
really help. Improve diagnostics.
llvm-svn: 226863
Rafael Espindola [Thu, 22 Jan 2015 20:57:30 +0000 (20:57 +0000)]
Don't use -z,defs on FreeBSD.
Looks like environ is defined only in the main binary.
llvm-svn: 226862
Ramkumar Ramachandra [Thu, 22 Jan 2015 20:56:25 +0000 (20:56 +0000)]
[emacs] Use c-mode-common-hook, derive from "gnu"
Make it clear that the "llvm.org" style is deriving from "gnu" style,
and use the c-mode-common-hook instead of c-mode-hook and c++-mode-hook.
Differential Revision: http://reviews.llvm.org/D7035
llvm-svn: 226861
Enrico Granata [Thu, 22 Jan 2015 20:53:04 +0000 (20:53 +0000)]
Replace more runCmd('continue') with process control API.
llvm-svn: 226860