Commit Graph

148131 Commits

Author SHA1 Message Date
Jordan Rose 3437669ca9 [analyzer] Type information from C++ new expressions is perfect.
This improves our handling of dynamic_cast and devirtualization for
objects allocated by 'new'.

llvm-svn: 180051
2013-04-22 21:36:44 +00:00
Daniel Malea 7f3aa1081c Fix lock hierarchy violation in Listener/Broadcaster
- avoid deadlocks if Broadcaster::SignUpListenersForBroadcaster and
  Listener::StartListeningForEventSpec are both called concurrently

llvm-svn: 180050
2013-04-22 21:22:41 +00:00
Eli Bendersky 58b04b7e2e Optimize MachineBasicBlock::getSymbol by caching the symbol. Since the symbol
name computation is expensive, this helps save about 25% of the time spent in
this function.

llvm-svn: 180049
2013-04-22 21:21:08 +00:00
Matt Kopec 365e3359ab When parsing dwarf, add C functions to the fullname index.
This fixes function type resolution for C functions when requesting full function names.

llvm-svn: 180048
2013-04-22 21:13:22 +00:00
Daniel Malea 4818460269 Fix data race in Address class by wrapping m_offset in std::atomic
llvm-svn: 180047
2013-04-22 20:59:13 +00:00
Reid Kleckner 7ff21d934e Add a missing reference on a std::vector<> out param
Pointed out by Eli.  The test passes for me either way, so I missed
this.

llvm-svn: 180046
2013-04-22 20:58:09 +00:00
Anat Shemer 10260a75e3 Changed back (relative to commit 179786) the operations executed when extract(cast) is transformed to cast(extract). It uses the Builder class as before. In addition the result node is added to the Worklist, so all the previous extract users will become the new scalar cast users.
llvm-svn: 180045
2013-04-22 20:51:10 +00:00
Chad Rosier eeb0034918 Fix unused variable warning.
llvm-svn: 180044
2013-04-22 20:42:32 +00:00
Eli Bendersky 622455e87c Fix comment that didn't match the method it was above
llvm-svn: 180043
2013-04-22 20:30:50 +00:00
Simon Atanasyan af9ebc742d [Mips] Remove "REQUIRES: mips-registered-target" from some MIPS-related
driver tests. These tests check the driver only and do not require mips
target.

llvm-svn: 180042
2013-04-22 20:26:27 +00:00
Reid Kleckner 21a8c2f361 [Support] Propagate the environment into the test child process
Should fix the dragonegg bootstrap builder, which reasonably needs
LD_LIBRARY_PATH to be set.

llvm-svn: 180041
2013-04-22 20:23:41 +00:00
Akira Hatanaka d8fb032cff 80 columns.
llvm-svn: 180040
2013-04-22 20:13:37 +00:00
Akira Hatanaka 0d6964cf4a [mips] In performDSPShiftCombine, check that all elements in the vector are
shifted by the same amount and the shift amount is smaller than the element
size.

llvm-svn: 180039
2013-04-22 19:58:23 +00:00
Manman Ren 09a3912b5c TBAA: make sure zero-length bitfield works for tbaa.struct and path-aware tbaa
For ms structs, zero-length bitfields following non-bitfield members are
completely ignored, we should not increase the field index.
Before the fix, we will have an assertion failure.

llvm-svn: 180038
2013-04-22 19:50:07 +00:00
Chad Rosier cb78f0d05e [ms-inline asm] Remove the identifier parsing logic from the AsmParser. This is
now taken care of by the frontend, which allows us to parse arbitrary C/C++
variables.
Part of rdar://13663589

llvm-svn: 180037
2013-04-22 19:42:15 +00:00
Howard Hinnant 20428e94e0 Somehow aligned_union got dropped through the cracks. This adds it. Did a drive-by fix of alignment_of while I was in the neighborhood.
llvm-svn: 180036
2013-04-22 19:37:49 +00:00
Reid Kleckner 74679a93b2 [Support] Fix argv string escape bug on Windows
Summary:
This is http://llvm.org/PR15802.  Backslashes preceding double quotes in
arguments must be escaped.  The interesting bit is that all other
backslashes should *not* be escaped, because the un-escaping logic is
only triggered by the presence of a double quote character.

Reviewers: Bigcheese

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D705

llvm-svn: 180035
2013-04-22 19:03:55 +00:00
Peter Collingbourne 8988687d6b COFF: Fix weak external aliases.
Differential Revision: http://llvm-reviews.chandlerc.com/D700

llvm-svn: 180034
2013-04-22 18:48:56 +00:00
Enrico Granata cbd79b6c84 <rdar://problem/13590152>
Providing a dummy RegisterContext to secure against faulty Python OS plugins that do not return a valid RegisterContext
The RegisterContextDummy exports a PC with a constant 0xFFFFFFFFFFFFFFFF value

llvm-svn: 180033
2013-04-22 18:26:52 +00:00
Stephen Lin 2ec1b100a4 Extra paranoid test for r179925 (verify that tail calls are not generated to 'this'-returning constructors of objects with different 'this' pointers than the caller)
llvm-svn: 180032
2013-04-22 17:23:49 +00:00
Eli Bendersky 0577df4aec Document the -filetype option of llc (PR #12902)
llvm-svn: 180031
2013-04-22 17:16:35 +00:00
Eli Bendersky d9806687bc Fix for PR 14965: Better error message for GEP with partially defined contents
llvm-svn: 180030
2013-04-22 17:03:42 +00:00
Matt Kopec 5e6a5d6ce5 Fix for expression/breakpoint setting of gnu indirect functions.
Do this until we are able to resolve these symbols to their actual implementations without needing runtime support.

llvm-svn: 180029
2013-04-22 17:02:04 +00:00
Chad Rosier f6675c3d3e [ms-inline asm] Refactor/clean up the SemaLookup interface. No functional
change indended.
Part of rdar://13663589

llvm-svn: 180028
2013-04-22 17:01:46 +00:00
Chad Rosier b18a285525 [ms-inline asm] Refactor/clean up the SemaLookup interface. No functional
change indended.
Part of rdar://13663589

llvm-svn: 180027
2013-04-22 17:01:37 +00:00
Adrian Prantl 8cb1896b6e Move debug info tests for scoped enums into a separate file.
llvm-svn: 180026
2013-04-22 16:47:50 +00:00
Jia Liu 43eb48ebe4 Add AArch64 into $llvm_cv_target_arch in configure, reviewed by Tim Northover & Eric Christopher
llvm-svn: 180025
2013-04-22 16:26:15 +00:00
Benjamin Kramer c272794899 Use the ugly PRIx64 macro to make format string portable.
This is debugging code so functionality isn't a concern, but mingw32 warns
because it doesn't understand the %llx format specifier.

llvm-svn: 180024
2013-04-22 16:10:38 +00:00
Jia Liu 8932a882c8 typo
llvm-svn: 180023
2013-04-22 15:40:16 +00:00
Richard Smith d9f663b510 C++1y constexpr extensions, round 1: Allow most forms of declaration and
statement in constexpr functions. Everything which doesn't require variable
mutation is also allowed as an extension in C++11. 'void' becomes a literal
type to support constexpr functions which return 'void'.

llvm-svn: 180022
2013-04-22 15:31:51 +00:00
Benjamin Kramer 7dcc5583b4 Make doxygen comment match declaration.
Found by -Wdocumentation.

llvm-svn: 180021
2013-04-22 15:21:03 +00:00
Rafael Espindola 8bd2c228f8 Also verify llvm.compiler_used.
llvm-svn: 180020
2013-04-22 15:16:51 +00:00
Rafael Espindola 74f2e46eef Clarify that llvm.used can contain aliases.
Also add a check for llvm.used in the verifier and simplify clients now that
they can assume they have a ConstantArray.

llvm-svn: 180019
2013-04-22 14:58:02 +00:00
Richard Smith da466db02a cmake: Only add -pedantic if LLVM didn't add it. Don't unconditionally add
-Wall -W, since it's already provided by LLVM's cmake config, and that
overrides fixes (such as -Wno-uninitialized) which LLVM's cmake setup may have
provided.

llvm-svn: 180018
2013-04-22 14:51:21 +00:00
Richard Smith 9543c5e371 Fix array constant expression evaluation bug: we can have different values for
different array elements, even if they're all constructed using the same
default constructor.

llvm-svn: 180017
2013-04-22 14:44:29 +00:00
Eric Christopher 6cddedca72 The option is spelled -use-auto, not -loop-convert.
llvm-svn: 180016
2013-04-22 14:39:46 +00:00
Eric Christopher cc2cfe426d No really, don't store anything to this since it's unconditionally
set below.

llvm-svn: 180015
2013-04-22 14:11:25 +00:00
Eric Christopher 6647fb2c60 Remove variable store that is never read.
llvm-svn: 180014
2013-04-22 13:51:44 +00:00
Eric Christopher 845c2ca78c Remove variable store that is never read.
llvm-svn: 180013
2013-04-22 13:46:33 +00:00
Evgeniy Stepanov 1a2262e1c9 [sanitizer] Fix lint.
llvm-svn: 180012
2013-04-22 13:28:26 +00:00
Stepan Dyatkovskiy f80f9513ce Fix for 5.5 Parameter Passing --> Stage C:
-- C.4 and C.5 statements, when NSAA is not equal to SP.
 -- C.1.cp statement for VA functions. Note: There are no VFP CPRCs in a
    variadic procedure.

Before this patch "NSAA != 0" means "don't use GPRs anymore ". But there are
some exceptions in AAPCS.
1. For non VA function: allocate all VFP regs for CPRC. When all VFPs are allocated
   CPRCs would be sent to stack, while non CPRCs may be still allocated in GRPs.
2. Check that for VA functions all params uses GPRs and then stack.
   No exceptions, no CPRCs here.

llvm-svn: 180011
2013-04-22 13:06:52 +00:00
Eric Christopher f565498668 Add .ll as a valid test suffix for Object, this allows .ll -> object
and then dumping as tests.

llvm-svn: 180010
2013-04-22 10:45:06 +00:00
Eric Christopher ef3cd7a6ae Add the same todo about a command iterator interface into the
other mach-o object file as well.

TODO: One interface to rule them all.
llvm-svn: 180009
2013-04-22 10:27:32 +00:00
Eric Christopher dcc220368d Add a TODO about wanting an iterator interface.
llvm-svn: 180008
2013-04-22 10:25:25 +00:00
Nico Rieck 0ab8e602c9 llvm-readobj: Dump more COFF auxiliary records
llvm-svn: 180007
2013-04-22 08:35:11 +00:00
Nico Rieck a711deef13 llvm-readobj: Check for null section pointer
llvm-svn: 180006
2013-04-22 08:34:59 +00:00
Nico Rieck a8de653747 llvm-readobj: Do not print NULL StringRefs
llvm-svn: 180005
2013-04-22 08:34:46 +00:00
Richard Smith 1847baa20e Don't emit _ZTW wrappers for TLS variables which don't use the C++ thread_local keyword.
llvm-svn: 180004
2013-04-22 08:06:17 +00:00
Arnaud A. de Grandmaison e206e6e80a Cleanup: test source files do not need to be executable
llvm-svn: 180003
2013-04-22 08:02:43 +00:00
Arnaud A. de Grandmaison 7c6571bce1 Cleanup: test source file does not need to be executable
llvm-svn: 180002
2013-04-22 08:00:37 +00:00