Matt Kopec [Wed, 27 Feb 2013 20:13:38 +0000 (20:13 +0000)]
Add GNU indirect function support in expressions for Linux.
llvm-svn: 176206
Michael J. Spencer [Wed, 27 Feb 2013 20:01:43 +0000 (20:01 +0000)]
[test] Don't start elf-dump until lld-core is done writing the output.
llvm-svn: 176205
Michael Ilseman [Wed, 27 Feb 2013 19:54:00 +0000 (19:54 +0000)]
Reverted: r176136 - Have a way for a target to opt-out of target-independent fast isel
llvm-svn: 176204
Jim Ingham [Wed, 27 Feb 2013 19:13:05 +0000 (19:13 +0000)]
Call Process::Finalize directly in Debugger::Destroy, rather than having it done
in the Process destructor. Doing it there can be too late depending on what the internal state
and ProcessGDBRemote Async threads are doing.
<rdar://problem/
13297536>
llvm-svn: 176203
Jordan Rose [Wed, 27 Feb 2013 18:57:20 +0000 (18:57 +0000)]
[analyzer] Fix test for previous commit.
llvm-svn: 176202
Jordan Rose [Wed, 27 Feb 2013 18:49:57 +0000 (18:49 +0000)]
[analyzer] Teach FindLastStoreBRVisitor to understand stores of the same value.
Consider this case:
int *p = 0;
p = getPointerThatMayBeNull();
*p = 1;
If we inline 'getPointerThatMayBeNull', we might know that the value of 'p'
is NULL, and thus emit a null pointer dereference report. However, we
usually want to suppress such warnings as error paths, and we do so by using
FindLastStoreBRVisitor to see where the NULL came from. In this case, though,
because 'p' was NULL both before and after the assignment, the visitor
would decide that the "last store" was the initialization, not the
re-assignment.
This commit changes FindLastStoreBRVisitor to consider all PostStore nodes
that assign to this region. This still won't catches changes made directly
by checkers if they re-assign the same value, but it does handle the common
case in user-written code and will trigger ReturnVisitor's suppression
machinery as expected.
<rdar://problem/
13299738>
llvm-svn: 176201
Jordan Rose [Wed, 27 Feb 2013 18:49:43 +0000 (18:49 +0000)]
[analyzer] Turn on C++ constructor inlining by default.
This enables constructor inlining for types with non-trivial destructors.
The plan is to enable destructor inlining within the next month, but that
needs further verification.
<rdar://problem/
12295329>
llvm-svn: 176200
Sean Silva [Wed, 27 Feb 2013 18:48:42 +0000 (18:48 +0000)]
[docs] Discuss manpage output.
llvm-svn: 176199
Chad Rosier [Wed, 27 Feb 2013 18:46:04 +0000 (18:46 +0000)]
[driver] The failure of any phase (e.g., preprocess, compile, assemble) for a
single translation unit should prevent later phases from executing. Otherwise,
this generates lots of noise in build systems. This a fallout from r173825.
Patch by Matthew Curtis <mcurtis@codeaurora.org>.
rdar://
13298009
llvm-svn: 176198
Aaron Ballman [Wed, 27 Feb 2013 18:38:33 +0000 (18:38 +0000)]
Switching -1ULL to UINT64_MAX to fix MSVC warnings. Patch thanks to Peng Cheng!
llvm-svn: 176197
Sean Silva [Wed, 27 Feb 2013 18:33:21 +0000 (18:33 +0000)]
[docs] Provide pointer for building Sphinx docs.
llvm-svn: 176195
Aaron Ballman [Wed, 27 Feb 2013 18:25:41 +0000 (18:25 +0000)]
Suppressing MSVC warnings; patch thanks to Peng Cheng!
llvm-svn: 176193
Shankar Easwaran [Wed, 27 Feb 2013 17:57:17 +0000 (17:57 +0000)]
print TLS segment
llvm-svn: 176192
Dmitri Gribenko [Wed, 27 Feb 2013 17:34:57 +0000 (17:34 +0000)]
Fix documentation comment in LoopConvert
Patch by Ariel Bernal
llvm-svn: 176191
Daniel Malea [Wed, 27 Feb 2013 17:29:46 +0000 (17:29 +0000)]
Cleanup TestUniqueTypes.py and add getCompilerVersion() to test harness
- pull up logic to get compiler version from TestUniqueTypes.py into lldbtest.py
- work around an GCC 4.6.3 issue
llvm-svn: 176190
Tim Northover [Wed, 27 Feb 2013 16:43:09 +0000 (16:43 +0000)]
ARM: permit full range of valid ADR immediates.
This fixes an issue where trying to assemlbe valid ADR instructions would cause
LLVM to hit a failed assertion.
Patch by Keith Walker.
llvm-svn: 176189
Benjamin Kramer [Wed, 27 Feb 2013 15:24:19 +0000 (15:24 +0000)]
LoopVectorize: Vectorize math builtin calls.
This properly asks TargetLibraryInfo if a call is available and if it is, it
can be translated into the corresponding LLVM builtin. We don't vectorize sqrt()
yet because I'm not sure about the semantics for negative numbers. The other
intrinsic should be exact equivalents to the libm functions.
Differential Revision: http://llvm-reviews.chandlerc.com/D465
llvm-svn: 176188
Simon Atanasyan [Wed, 27 Feb 2013 14:55:49 +0000 (14:55 +0000)]
[Mips] Add two new aliases for MIPS ABI names 32 (means o32 abi) and 64
(means n64 abi) to improve compatibility with GNU tools.
Patch by Jia Liu <proljc@gmail.com>.
llvm-svn: 176187
Timur Iskhodzhanov [Wed, 27 Feb 2013 13:46:31 +0000 (13:46 +0000)]
Better support for constructors with -cxx-abi microsoft, partly fixes PR12784
llvm-svn: 176186
Kostya Serebryany [Wed, 27 Feb 2013 13:38:19 +0000 (13:38 +0000)]
[asan] if calloc returns a freshly-mmaped memory, don't clear it with memset. Speeds up calloc-intensive code
llvm-svn: 176185
Edwin Vane [Wed, 27 Feb 2013 13:09:24 +0000 (13:09 +0000)]
Custom lit.site.cfg configuration for cpp11-migrate
To afford hand-written tests access to any auto-generated headers, a
lit.site.cfg is now created for cpp11-migrate's test directory providing a new
config.substition. Tests can refer to %gen_root in the LIT script.
Removed use of --param clang_site_config. Not necessary when running
tests using the build system.
llvm-svn: 176184
Alexey Samsonov [Wed, 27 Feb 2013 13:03:35 +0000 (13:03 +0000)]
[Sanitizer] don't include missing header on Android
llvm-svn: 176183
Alexey Samsonov [Wed, 27 Feb 2013 12:58:24 +0000 (12:58 +0000)]
[UBSan] Use common report decorator to print colorful diagnostics in UBSan, and be more consistent w/ Printf/RawWrite
llvm-svn: 176182
Manuel Klimek [Wed, 27 Feb 2013 11:56:58 +0000 (11:56 +0000)]
Make the negative test of recordType depend on a specific record.
Otherwise it'll break if there's a record type in the AST by default.
llvm-svn: 176181
Daniel Jasper [Wed, 27 Feb 2013 11:43:50 +0000 (11:43 +0000)]
Fix formatting of multiplications in array subscripts.
Before:
a[a* a] = 1;
After:
a[a * a] = 1;
llvm-svn: 176180
Kostya Serebryany [Wed, 27 Feb 2013 11:22:40 +0000 (11:22 +0000)]
add Linux syscall wrappers and ThreadLister to sanitizer_common
ThreadLister is a Linux-specific class for obtaining the thread IDs of a process from procfs (/proc/<pid>/task/). It will be used by leak checking code.
Also add several syscall wrappers which will be required by the same code that uses ThreadLister, but are not used in ThreadLister itself.
Patch by Sergey Matveev
llvm-svn: 176179
Alexey Samsonov [Wed, 27 Feb 2013 11:14:55 +0000 (11:14 +0000)]
[Sanitizer] Change driver behavior when linking with -fsanitize=thread and -fsanitize=memory. TSan/MSan also provide their versions of new/delete and should use the same strategy as ASan. Share the code that sets linker flags for all sanitizers.
llvm-svn: 176178
Daniel Jasper [Wed, 27 Feb 2013 09:47:53 +0000 (09:47 +0000)]
Enable bin-packing in Google style.
After some discussions, it seems that this is the better path in
the long run. Does not change Chromium style, as there, bin packing
is forbidden by the style guide.
Also fix two minor bugs wrt. formatting:
1. If a call parameter is a function call itself and is split before
the "." or "->", split before the next parameter.
2. If a call parameter is string literal that has to be split onto
two lines, split before the next parameter.
llvm-svn: 176177
Nick Lewycky [Wed, 27 Feb 2013 08:28:35 +0000 (08:28 +0000)]
Forgot that this file needs to be C89 not C99 thanks to MSVC. No functionality
change!
llvm-svn: 176176
Kostya Serebryany [Wed, 27 Feb 2013 08:28:24 +0000 (08:28 +0000)]
[asan] guard ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS definition with an #ifndef
llvm-svn: 176175
Nick Lewycky [Wed, 27 Feb 2013 06:22:58 +0000 (06:22 +0000)]
Update clang for LLVM API change. No functionality change.
llvm-svn: 176174
Nick Lewycky [Wed, 27 Feb 2013 06:22:56 +0000 (06:22 +0000)]
In GCC 4.7, function names are now forbidden from .gcda files. Support this by
passing a null pointer to the function name in to GCDAProfiling, and add another
switch onto GCOVProfiling.
llvm-svn: 176173
Nick Lewycky [Wed, 27 Feb 2013 06:21:30 +0000 (06:21 +0000)]
Doh, fix behaviour change introduced in r176168 which is tested in clang,
not llvm.
llvm-svn: 176172
Nadav Rotem [Wed, 27 Feb 2013 05:56:20 +0000 (05:56 +0000)]
Revert r176166 because it broke one of the lit tests.
llvm-svn: 176171
Nadav Rotem [Wed, 27 Feb 2013 05:53:43 +0000 (05:53 +0000)]
For each function that we optimize we initialize a new list of lib functions. For each function name we malloc memory. This patch changes the Libcall map to use BumpPtrAllocator. Now we malloc only once. This speeds up instcombine by a few % on a large c++ program.
llvm-svn: 176170
Shankar Easwaran [Wed, 27 Feb 2013 05:53:38 +0000 (05:53 +0000)]
fixing build error properly according to comment from David
llvm-svn: 176169
Nick Lewycky [Wed, 27 Feb 2013 05:46:30 +0000 (05:46 +0000)]
IRBuilder has grown all sorts of useful utility functions. Make use of them to
clean up this code a tiny bit. No functionality change.
llvm-svn: 176168
Shankar Easwaran [Wed, 27 Feb 2013 05:33:27 +0000 (05:33 +0000)]
adding a return to fix compilation error from buildbot, build #75
llvm-svn: 176167
Nadav Rotem [Wed, 27 Feb 2013 05:23:56 +0000 (05:23 +0000)]
std::string to StringRef.
llvm-svn: 176166
Reed Kotler [Wed, 27 Feb 2013 04:20:14 +0000 (04:20 +0000)]
Fix cut/paste error in a comment.
llvm-svn: 176165
Rafael Espindola [Wed, 27 Feb 2013 04:15:01 +0000 (04:15 +0000)]
Don't cache the visibility of types.
Since r175326 an implicitly hidden template argument can cause a template
installation to become hidden, even if the template itself has an explicit
default visibility. This requires that we keep track of "late" additions
of the visibility attribute.
This is hopefully the last followup change. It just removes the caching of
visibilities from types so that we can see new attributes even after a type has
been used.
llvm-svn: 176164
Lang Hames [Wed, 27 Feb 2013 04:14:49 +0000 (04:14 +0000)]
Use the correct alignment for POD-member memcpys where the first field is a
bitfield. CGBitField::StorageAlignment holds the alignment in chars, but
emitMemcpy had been treating it as if it were held in bits, leading to
underaligned memcpys.
Related to PR15348.
Thanks very much to Chandler for the diagnosis.
llvm-svn: 176163
Shankar Easwaran [Wed, 27 Feb 2013 04:02:30 +0000 (04:02 +0000)]
fixing typo in header file
llvm-svn: 176162
Reed Kotler [Wed, 27 Feb 2013 03:33:58 +0000 (03:33 +0000)]
Add the skeleton for the Mips constant island pass.
It will only be used for Mips 16 at this time.
llvm-svn: 176161
Jason Molenda [Wed, 27 Feb 2013 03:07:49 +0000 (03:07 +0000)]
When starting a kernel debug session, if the user specified an executable
binary to lldb already check that the UUID of that binary and the UUID of
the kernel binary in memory match. Warn if they don't.
<rdar://problem/
13184784>
llvm-svn: 176160
Rafael Espindola [Wed, 27 Feb 2013 02:56:45 +0000 (02:56 +0000)]
Rename methods to comply with the LLVM Coding Standards.
llvm-svn: 176159
Enrico Granata [Wed, 27 Feb 2013 02:37:12 +0000 (02:37 +0000)]
<rdar://problem/
13289828>
Categories were conceptually meant to be placeable on test methods as well as test classes and test directories
However, that was broken. This checkin fixes that.
The incantation required to put categories on individual test case methods is not exactly elegant, unfortunately:
def test_case(self):
"""Test me."""
self.do_it()
def _test_case_get_categories(self):
return ["demo"]
test_case.getCategories = _test_case_get_categories
del _test_case_get_categories
llvm-svn: 176158
Rafael Espindola [Wed, 27 Feb 2013 02:27:19 +0000 (02:27 +0000)]
Change Type::getLinkageAndVisibility to return a LinkageInfo.
llvm-svn: 176157
Meador Inge [Wed, 27 Feb 2013 02:26:42 +0000 (02:26 +0000)]
IR: Don't constant fold GEP bitcasts between different address spaces
PR15262 reported a bug where the following instruction:
i8 getelementptr inbounds i8* bitcast ([4 x i8] addrspace(12)* @buf to i8*),
i32 2
was getting folded into:
addrspace(12)* getelementptr inbounds ([4 x i8] addrspace(12)* @buf, i32 0,
i32 2)
This caused instcombine to crash because the original instruction and
the folded instruction have different types. The issue was fixed by
disallowing bitcasts between different address spaces to be folded away.
llvm-svn: 176156
Rafael Espindola [Wed, 27 Feb 2013 02:15:29 +0000 (02:15 +0000)]
Move LinkageInfo out of NamedDecl so that it can be used in Type.h.
Everything that cares about visibility also cares about linkage, so I just
moved it to Visibility.h instead of creating a new .h.
llvm-svn: 176155
Manman Ren [Wed, 27 Feb 2013 02:11:57 +0000 (02:11 +0000)]
SelectionDAG: If llvm.donothing has a landingpad, we should clear
CurrentCallSite to avoid an assertion failure:
assert(MMI.getCurrentCallSite() == 0 && "Overlapping call sites!");
rdar://problem/
13228754
llvm-svn: 176154
Richard Trieu [Wed, 27 Feb 2013 01:41:53 +0000 (01:41 +0000)]
Update template diffing to handle template arguments that are declarations.
llvm-svn: 176153
Argyrios Kyrtzidis [Wed, 27 Feb 2013 01:34:48 +0000 (01:34 +0000)]
Add a test to make sure __has_include works from inside a macro.
llvm-svn: 176152
Adrian Prantl [Wed, 27 Feb 2013 01:31:55 +0000 (01:31 +0000)]
Temporarily revert r176116 for compile-time performance regression.
This reverts commit
ea95e4587fd13606fbf63b10a07a7d02026aa39c.
llvm-svn: 176151
Michael J. Spencer [Wed, 27 Feb 2013 01:30:27 +0000 (01:30 +0000)]
[ELF][Writer] Add dynamic relocation tables.
This adds separate PLT and dynamic relocation tables. It also fills in the dynamic table
entries for them.
llvm-svn: 176150
Ted Kremenek [Wed, 27 Feb 2013 01:26:58 +0000 (01:26 +0000)]
[analyzer] Add stop-gap patch to prevent assertion failure when analyzing LLVM codebase.
This potentially reduces a performance optimization of throwing away
PreStmtPurgeDeadSymbols nodes. I'll investigate the performance impact
soon and see if we need something better.
llvm-svn: 176149
Argyrios Kyrtzidis [Wed, 27 Feb 2013 01:13:51 +0000 (01:13 +0000)]
[PCH] When deserializing an IdentifierInfo, call IdentifierInfo::RevertTokenIDToIdentifier() only when it's not already an identifier.
Fixes an assertion hit.
rdar://
13288735
llvm-svn: 176148
Fariborz Jahanian [Wed, 27 Feb 2013 00:46:06 +0000 (00:46 +0000)]
comment parsing: Properties are considered like methods, and people
think of them as having return values that may be computed. Don't
warn when using @return in their comment. // rdar://
13189938
llvm-svn: 176147
John McCall [Wed, 27 Feb 2013 00:08:19 +0000 (00:08 +0000)]
Don't crash when diagnosing path-constrained protected
access to a private member to which we have special access.
rdar://
12926092
llvm-svn: 176146
Bill Wendling [Wed, 27 Feb 2013 00:06:04 +0000 (00:06 +0000)]
Reapply r176133 with testcase fixes.
llvm-svn: 176145
Jordan Rose [Wed, 27 Feb 2013 00:05:29 +0000 (00:05 +0000)]
[analyzer] If a struct has a partial lazy binding, its fields aren't Undef.
This is essentially the same problem as r174031: a lazy binding for the first
field of a struct may stomp on an existing default binding for the
entire struct. Because of the way RegionStore is set up, we can't help
but lose the top-level binding, but then we need to make sure that accessing
one of the other fields doesn't come back as Undefined.
In this case, RegionStore is now correctly detecting that the lazy binding
we have isn't the right type, but then failing to follow through on the
implications of that: we don't know anything about the other fields in the
aggregate. This fix adds a test when searching for other kinds of default
values to see if there's a lazy binding we rejected, and if so returns
a symbolic value instead of Undefined.
The long-term fix for this is probably a new Store model; see
<rdar://problem/
12701038>.
Fixes <rdar://problem/
13292559>.
llvm-svn: 176144
Manman Ren [Wed, 27 Feb 2013 00:02:32 +0000 (00:02 +0000)]
Debug Info: for static member variables, add AT_MIPS_linkage_name to the
definition DIE, to make old GDB happy.
We have a regression for old GDB when Clang uses DW_TAG_member to declare
static members inside a class, instead of DW_TAG_variable. This patch will fix
this regression.
rdar://problem/
13291234
llvm-svn: 176143
Ted Kremenek [Wed, 27 Feb 2013 00:00:26 +0000 (00:00 +0000)]
Refine SourceManager's isBeforeInTranslationUnit() cache to have more entries.
isBeforeInTranslationUnit() uses a cache to reduce the expensive work
to compute a common ancestor for two FileIDs. This work is very
expensive, so even caching the latest used FileIDs was a big win.
A closer analysis of the cache before, however, shows that the cache
access pattern would oscillate between a working set of FileIDs, and
thus caching more pairs would be profitable.
This patch adds a side table for extending caching. This side table
is bounded in size (experimentally determined in this case from
a simple Objective-C project), and when the table gets too large
we fall back to the single entry caching before as before.
On Sketch (a small example Objective-C project), this optimization
reduces -fsyntax-only time on SKTGraphicView.m by 5%. This is
for a project that is already using PCH.
Fixes <rdar://problem/
13299847>
llvm-svn: 176142
Jason Molenda [Tue, 26 Feb 2013 23:58:00 +0000 (23:58 +0000)]
Fix one remaining mach port number/globally unique thread ID mixup which prevented queue names
from being fetched correctly. <rdar://problem/
13290877>
llvm-svn: 176141
Greg Clayton [Tue, 26 Feb 2013 23:45:18 +0000 (23:45 +0000)]
<rdar://problem/
13287629>
Fixed an issue with clang 500's new way to represent static class variables where it emits a DW_TAG_member with a DW_AT_external(0x01) attribute and no DW_AT_data_member_location.
llvm-svn: 176140
Pedro Artigas [Tue, 26 Feb 2013 23:33:20 +0000 (23:33 +0000)]
Enhance integer division emulation support to handle types smaller than 32 bits,
enhancement done the trivial way; by extending inputs and truncating outputs
which is addequate for targets with little or no support for integer arithmetic
on integer types less than 32 bits.
llvm-svn: 176139
Rafael Espindola [Tue, 26 Feb 2013 23:24:59 +0000 (23:24 +0000)]
Use existing macros to simplify the test a bit.
llvm-svn: 176138
Bill Wendling [Tue, 26 Feb 2013 23:18:33 +0000 (23:18 +0000)]
Temporarily revert r176133 until testcases are modified.
llvm-svn: 176137
Michael Ilseman [Tue, 26 Feb 2013 23:15:23 +0000 (23:15 +0000)]
Have a way for a target to opt-out of target-independent fast isel
llvm-svn: 176136
Bill Wendling [Tue, 26 Feb 2013 23:08:48 +0000 (23:08 +0000)]
Fix testcases to not rely upon target-* attributes.
llvm-svn: 176135
Eli Bendersky [Tue, 26 Feb 2013 23:04:17 +0000 (23:04 +0000)]
Try to get rid of a -wunitialized warning: explicitly initialize the pointer
to NULL and use asserts to check in relevant places.
llvm-svn: 176134
Bill Wendling [Tue, 26 Feb 2013 23:01:33 +0000 (23:01 +0000)]
Don't set the -target-cpu and -target-features attributes just now.
This is causing some problems with some of the builders. It's non-trivial to
reset the target's features.
llvm-svn: 176133
Jim Ingham [Tue, 26 Feb 2013 22:51:48 +0000 (22:51 +0000)]
Mark a few more tests as "basic_process".
llvm-svn: 176132
Michael Ilseman [Tue, 26 Feb 2013 22:51:07 +0000 (22:51 +0000)]
Constant fold vector bitcasts of halves similarly to how floats and doubles are folded. Test case included.
llvm-svn: 176131
Roman Divacky [Tue, 26 Feb 2013 22:41:01 +0000 (22:41 +0000)]
Add support for autodetection of ADM bdver2.
llvm-svn: 176130
Manman Ren [Tue, 26 Feb 2013 22:35:53 +0000 (22:35 +0000)]
Revert r176120 as it caused a failure at static-member.cpp
llvm-svn: 176129
Chad Rosier [Tue, 26 Feb 2013 22:15:50 +0000 (22:15 +0000)]
No need to initialize these variables.
llvm-svn: 176128
Fariborz Jahanian [Tue, 26 Feb 2013 22:12:16 +0000 (22:12 +0000)]
doxygen command. Add 'attention' command to list of similar
doxygen commands. // rdar://
12379053
llvm-svn: 176127
Daniel Malea [Tue, 26 Feb 2013 21:41:55 +0000 (21:41 +0000)]
Add links to buildbots on the LLDB build instructions page
llvm-svn: 176126
Michael J. Spencer [Tue, 26 Feb 2013 21:29:47 +0000 (21:29 +0000)]
[TableGen] Fix ICE on MSVC 2012 Release builds.
llvm-svn: 176125
Bill Schmidt [Tue, 26 Feb 2013 21:28:57 +0000 (21:28 +0000)]
Fix PR15332 (patch by Florian Zeitz).
There's no need to generate a stack frame for PPC32 SVR4 when there are
no local variables assigned to the stack, i.e., when no red zone is needed.
(PPC64 supports a red zone, but PPC32 does not.)
llvm-svn: 176124
Matt Arsenault [Tue, 26 Feb 2013 21:20:35 +0000 (21:20 +0000)]
Fix auto_ptr is deprecated warnings
llvm-svn: 176123
Matt Arsenault [Tue, 26 Feb 2013 21:16:00 +0000 (21:16 +0000)]
Fix assertion failure when a field is given an address space.
llvm-svn: 176122
Matt Arsenault [Tue, 26 Feb 2013 21:15:54 +0000 (21:15 +0000)]
Fix initializer for variables with attribute address_space set.
This would error in C++ mode unless the variable also had a cv
qualifier.
e.g.
__attribute__((address_space(2))) float foo = 1.0f; would error but
__attribute__((address_space(2))) const float foo = 1.0f; would not.
llvm-svn: 176121
Manman Ren [Tue, 26 Feb 2013 20:48:29 +0000 (20:48 +0000)]
Debug Info: for static member variables, move AT_MIPS_linkage_name from
TAG_member inside a class to the specification DIE.
Having AT_MIPS_linkage_name on TAG_member caused old gdb (GNU 6.3.50) to
error out. Also gcc 4.7 has AT_MIPS_linkage_name on the specification DIE.
rdar://problem/
13291234
llvm-svn: 176120
Chad Rosier [Tue, 26 Feb 2013 20:22:30 +0000 (20:22 +0000)]
Add a test case for r176066.
llvm-svn: 176119
Jim Grosbach [Tue, 26 Feb 2013 20:17:10 +0000 (20:17 +0000)]
AsmParser: More generic support for integer type suffices.
For integer constants, allow 'L', 'UL' as well as 'ULL' and 'LL'. This provides
better support for shared headers between .s and .c files that define bunches
of constant values.
rdar://9321056
llvm-svn: 176118
Matt Arsenault [Tue, 26 Feb 2013 20:13:09 +0000 (20:13 +0000)]
Fix typo
llvm-svn: 176117
Adrian Prantl [Tue, 26 Feb 2013 20:01:46 +0000 (20:01 +0000)]
Ensure that DIType is regenerated after we visited an implementation that adds ivars to an interface. Fixes rdar://
13175234
llvm-svn: 176116
Ted Kremenek [Tue, 26 Feb 2013 19:44:38 +0000 (19:44 +0000)]
[analyzer] Use 'MemRegion::printPretty()' instead of assuming the region is a VarRegion.
Fixes PR15358 and <rdar://problem/
13295437>.
Along the way, shorten path diagnostics that say "Variable 'x'" to just
be "'x'". By the context, it is obvious that we have a variable,
and so this just consumes text space.
llvm-svn: 176115
Matt Beaumont-Gay [Tue, 26 Feb 2013 19:34:08 +0000 (19:34 +0000)]
Warn on dropping the return value from a warn_unused_result function, even in
macros.
llvm-svn: 176114
Matt Arsenault [Tue, 26 Feb 2013 19:33:48 +0000 (19:33 +0000)]
Another test commit. Remove trailing whitespace.
llvm-svn: 176113
Rafael Espindola [Tue, 26 Feb 2013 19:33:14 +0000 (19:33 +0000)]
Use the most recent decl in getExplicitVisibility.
Now that implicitly hidden template arguments can make an instantiation hidden,
it is important to look at more than just the canonical decl of the argument
in order to see if an attribute is available in a more recent decl.
This has the disadvantage of exposing when getExplicitVisibility is called,
but lets us handle cases like
template <typename T>
struct __attribute__((visibility("default"))) barT {
static void zed() {}
};
class foo;
class __attribute__((visibility("default"))) foo;
template struct barT<foo>;
llvm-svn: 176112
Matt Arsenault [Tue, 26 Feb 2013 19:18:06 +0000 (19:18 +0000)]
Test commit. Remove trailing whitespace.
llvm-svn: 176111
Rafael Espindola [Tue, 26 Feb 2013 19:13:56 +0000 (19:13 +0000)]
Be more careful in applying pragma weak. Fixes pr14974.
GCC applies a pragma weak to a decl if it matches the mangled name. We used
to apply if it matched the plain name.
This patch is a compromise: we apply the pragma only if it matches the name
and the decl has C language linkage.
llvm-svn: 176110
Chad Rosier [Tue, 26 Feb 2013 18:39:31 +0000 (18:39 +0000)]
Remove a few unused arguments.
llvm-svn: 176109
Sean Silva [Tue, 26 Feb 2013 18:22:18 +0000 (18:22 +0000)]
[docs] Use reST link instead of direct HTML link.
llvm-svn: 176108
Eli Bendersky [Tue, 26 Feb 2013 18:05:31 +0000 (18:05 +0000)]
Slight cosmetic fixes
llvm-svn: 176107
Greg Clayton [Tue, 26 Feb 2013 17:59:39 +0000 (17:59 +0000)]
Backed out a hacky fix that is no longer needed.
llvm-svn: 176106
Christian Konig [Tue, 26 Feb 2013 17:52:47 +0000 (17:52 +0000)]
R600/SI: Add promotion of e32 to e64 in operand folding
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 176105