Anna Zaks [Tue, 9 Apr 2013 00:30:28 +0000 (00:30 +0000)]
[analyzer] Keep tracking the pointer after the escape to more aggressively report mismatched deallocator
Test that the path notes do not change. I don’t think we should print a note on escape.
Also, I’ve removed a check that assumed that the family stored in the RefStete could be
AF_None and added an assert in the constructor.
llvm-svn: 179075
Rafael Espindola [Tue, 9 Apr 2013 00:22:58 +0000 (00:22 +0000)]
Add a SymbolTableEntryBase.
Use it when we don't need to know if we have a 32 or 64 bit SymbolTableEntry.
llvm-svn: 179074
Joe Groff [Tue, 9 Apr 2013 00:01:51 +0000 (00:01 +0000)]
Fix PointerIntPair to be enum class compatible.
Some parts of PointerIntPair assumed that the IntType of the pair was implicitly
convertible to intptr_t, which is not the case for enum class values. Add a
static_cast<intptr_t> to make these conversions explicit and allow
PointerIntPair to be used with an enum class IntType. While we're here, rename
some of the argument values so we don't have variables named "Int" floating
around.
llvm-svn: 179073
Rafael Espindola [Mon, 8 Apr 2013 23:57:13 +0000 (23:57 +0000)]
Add a SectionBase struct.
Use it to share code and when we don't need to know if we have a 32 or 64
bit Section.
llvm-svn: 179072
Nadav Rotem [Mon, 8 Apr 2013 23:40:47 +0000 (23:40 +0000)]
c++ new operators are not malloc-like functions because they do not return uninitialized memory.
Users may overide new-operators and implement any function that they like.
llvm-svn: 179071
Ted Kremenek [Mon, 8 Apr 2013 23:39:32 +0000 (23:39 +0000)]
Add test case calling a deprecated method from a subclass that reimplements that method gets a warning.
Test case from <rdar://problem/
11627873>.
llvm-svn: 179070
John McCall [Mon, 8 Apr 2013 23:27:49 +0000 (23:27 +0000)]
Don't copy just to capture a strong block pointer under ARC.
It turns out that the optimizer can't eliminate this without extra
information, for which there's a separate bug.
rdar://
13588325
llvm-svn: 179069
Douglas Gregor [Mon, 8 Apr 2013 23:24:07 +0000 (23:24 +0000)]
<rdar://problem/
13584715> Converted constant expressions are expected to have integral values.
We were assuming that any expression used as a converted constant
expression would either not have a folded constant value or would be
an integer, which is not the case for some ill-formed constant
expressions. Because converted constant expressions are only used
where integral values are expected, we can simply treat this as an
error path. If that ever changes, we'll need to widen the interface of
Sema::CheckConvertedConstantExpression() anyway.
llvm-svn: 179068
Douglas Gregor [Mon, 8 Apr 2013 23:11:25 +0000 (23:11 +0000)]
<rdar://problem/
13540899> Collect using directives from all of the semantic contexts not represented by scopes.
This fixes a regression I introduced in r178136, where we would not
consider the using directives from the semantic declaration contexts
that aren't represented by the lexical scopes (Scope) when performing
unqualified name lookup. This lead to horribly funny diagnostics like
"no identifier named 'foo'; did you mean 'foo'?".
llvm-svn: 179067
NAKAMURA Takumi [Mon, 8 Apr 2013 23:05:21 +0000 (23:05 +0000)]
InstructionSimplify.cpp: Fix a ligature, "fi", to get rid of utf8 in comment.
llvm-svn: 179066
NAKAMURA Takumi [Mon, 8 Apr 2013 23:05:10 +0000 (23:05 +0000)]
clang/test/Index/annotate-tokens.cpp: Appease msvc-targets with -fno-delayed-template-parsing.
llvm-svn: 179065
Alexander Kornienko [Mon, 8 Apr 2013 22:16:06 +0000 (22:16 +0000)]
Recognize function-like macro usages without semicolon in declaration context.
Summary:
Preserve line breaks after function-like macro usages without
semicolon, e.g.:
QQQ(xxx)
class X {
};
Reviewers: djasper, klimek
Reviewed By: djasper
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D638
llvm-svn: 179064
Shuxin Yang [Mon, 8 Apr 2013 22:00:43 +0000 (22:00 +0000)]
Redo the fix Benjamin Kramer committed in r178793 about iterator invalidation in Reassociate.
I brazenly think this change is slightly simpler than r178793 because:
- no "state" in functor
- "OpndPtrs[i]" looks simpler than "&Opnds[OpndIndices[i]]"
While I can reproduce the probelm in Valgrind, it is rather difficult to come up
a standalone testing case. The reason is that when an iterator is invalidated,
the stale invalidated elements are not yet clobbered by nonsense data, so the
optimizer can still proceed successfully.
Thank Benjamin for fixing this bug and generously providing the test case.
llvm-svn: 179062
Nick Lewycky [Mon, 8 Apr 2013 21:55:21 +0000 (21:55 +0000)]
Fix typo in assertion.
llvm-svn: 179061
Nadav Rotem [Mon, 8 Apr 2013 21:34:49 +0000 (21:34 +0000)]
Update the docs about the fact that the loop vectorizer is enabled by default for -O3.
llvm-svn: 179060
Eli Bendersky [Mon, 8 Apr 2013 21:31:01 +0000 (21:31 +0000)]
The PNaCl target no longer permits __attribute__((regparm)).
Remove the custom lowering code dealing with it, disallow it in PNaclTargetInfo
and adjust tests accordingly.
llvm-svn: 179059
Jason Molenda [Mon, 8 Apr 2013 21:24:40 +0000 (21:24 +0000)]
Update PlatformDarwinKernel::GetMacDirectoriesToSearch to also try
/Volumes/KernelDebugKit (the default mount point for the Kernel Debug
Kit dmgs).
llvm-svn: 179058
Douglas Gregor [Mon, 8 Apr 2013 21:13:13 +0000 (21:13 +0000)]
<rdar://problem/
13559825> Further reduce template instantiation depth down to 256, since we're blowing the stack for a trivial "factorial" class template.
llvm-svn: 179057
Richard Trieu [Mon, 8 Apr 2013 21:11:40 +0000 (21:11 +0000)]
Fix PR15634, better error message for template deduction failure.
When two template decls with the same name are used in this diagnostic,
force them to print their qualified names. This changes the bad message of:
candidate template ignored: could not match 'array' against 'array'
to the better message of:
candidate template ignored: could not match 'NS2::array' against 'NS1::array'
llvm-svn: 179056
Ted Kremenek [Mon, 8 Apr 2013 21:02:16 +0000 (21:02 +0000)]
Update checker build to checker-273
llvm-svn: 179055
Chandler Carruth [Mon, 8 Apr 2013 20:59:44 +0000 (20:59 +0000)]
Revert r179012: "[msan] Intercept glob()."
This was committed without tests and contains obvious bugs. That's not
acceptable. It broke address sanitizer for most programs using glob(3).
llvm-svn: 179054
Douglas Gregor [Mon, 8 Apr 2013 20:52:24 +0000 (20:52 +0000)]
<rdar://problem/
13540921> Fix a crasher when an Objective-C for-in loop gets a non-variable iteration declaration.
llvm-svn: 179053
Adrian Prantl [Mon, 8 Apr 2013 20:52:12 +0000 (20:52 +0000)]
fix indentation
llvm-svn: 179052
Rafael Espindola [Mon, 8 Apr 2013 20:45:01 +0000 (20:45 +0000)]
Template the MachO types over the word size.
llvm-svn: 179051
Bill Wendling [Mon, 8 Apr 2013 20:36:44 +0000 (20:36 +0000)]
The recent GCOV changes expect the initial version string to be in forward order.
llvm-svn: 179050
Daniel Jasper [Mon, 8 Apr 2013 20:33:42 +0000 (20:33 +0000)]
Revamp indentation behavior for complex binary expressions.
The idea is to indent according to operator precedence and pretty much
identical to how stuff would be indented with parenthesis.
Before:
bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ==
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb &&
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >
ccccccccccccccccccccccccccccccccccccccccc;
After:
bool value = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ==
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb &&
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >
ccccccccccccccccccccccccccccccccccccccccc;
llvm-svn: 179049
Rafael Espindola [Mon, 8 Apr 2013 20:18:53 +0000 (20:18 +0000)]
Remove is64BitLoadCommand.
llvm-svn: 179048
Eli Bendersky [Mon, 8 Apr 2013 20:18:15 +0000 (20:18 +0000)]
Rewrite test/Integer tests to use FileCheck instead of grep
llvm-svn: 179047
DeLesley Hutchins [Mon, 8 Apr 2013 20:11:11 +0000 (20:11 +0000)]
Thread safety analysis: turn on checking within lock and unlock functions.
These checks are enabled with the -Wthread-safety-beta flag.
llvm-svn: 179046
Eli Bendersky [Mon, 8 Apr 2013 19:51:36 +0000 (19:51 +0000)]
Rewrite test/ExecutionEngine tests to use FileCheck instead of grep
llvm-svn: 179043
Fariborz Jahanian [Mon, 8 Apr 2013 19:14:15 +0000 (19:14 +0000)]
fixes a typo in my last patch.
// rdar://
12379114
llvm-svn: 179042
Howard Hinnant [Mon, 8 Apr 2013 18:59:28 +0000 (18:59 +0000)]
Change <cwchar> and <cstring> to look out for flags which may or may not be set by the C headers <wchar.h> and <string.h> indicating C support for the C++-altered wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr, strchr, strpbrk, strrchr, memchr, and strstr. This was already done in <cstring> for other platforms using other flags, so just had to add one more flag to the list there.
llvm-svn: 179041
Chris Lattner [Mon, 8 Apr 2013 18:56:15 +0000 (18:56 +0000)]
In the comparison, both clang and GCC are popular and widely adopted. This is no longer a win of GCC.
This whole doc should really be looked at.
llvm-svn: 179040
Fariborz Jahanian [Mon, 8 Apr 2013 18:53:25 +0000 (18:53 +0000)]
doce parsing: adding few more headerdoc tags.
// rdar://
12379114
llvm-svn: 179039
Matt Arsenault [Mon, 8 Apr 2013 18:52:58 +0000 (18:52 +0000)]
Update documentation.
First feature is not CPU subtype anymore since r134127
llvm-svn: 179038
Douglas Gregor [Mon, 8 Apr 2013 18:40:13 +0000 (18:40 +0000)]
<rdar://problem/
13540921> Cope with instantiations of the C++11 range-based for loop that end up being Objective-C fast enumeration loops.
llvm-svn: 179037
Eli Bendersky [Mon, 8 Apr 2013 18:33:51 +0000 (18:33 +0000)]
Rewrite test/Verifier tests to use FileCheck instead of grep
llvm-svn: 179036
Douglas Gregor [Mon, 8 Apr 2013 18:25:02 +0000 (18:25 +0000)]
<rdar://problem/
13540921> Cope with deduced 'auto' in a C++11 for-range loop that is actually an Objective-C fast enumeration loop.
llvm-svn: 179035
Ted Kremenek [Mon, 8 Apr 2013 18:09:16 +0000 (18:09 +0000)]
Tweak warning text for nil value in ObjC container warning.
llvm-svn: 179034
Arnold Schwaighofer [Mon, 8 Apr 2013 18:05:48 +0000 (18:05 +0000)]
X86 cost model: Model cost for uitofp and sitofp on SSE2
The costs are overfitted so that I can still use the legalization factor.
For example the following kernel has about half the throughput vectorized than
unvectorized when compiled with SSE2. Before this patch we would vectorize it.
unsigned short A[1024];
double B[1024];
void f() {
int i;
for (i = 0; i < 1024; ++i) {
B[i] = (double) A[i];
}
}
radar://
13599001
llvm-svn: 179033
Alexander Potapenko [Mon, 8 Apr 2013 17:46:34 +0000 (17:46 +0000)]
[libsymbolized] If we can't find an address in the list of shared libraries, try to reload it.
Add a regression test for the case where such behavior helps TSan:
1. race is reported in the main module
2. new shared library is loaded
3. race is reported in the shared library
llvm-svn: 179032
Chad Rosier [Mon, 8 Apr 2013 17:44:05 +0000 (17:44 +0000)]
Test case for r179030.
llvm-svn: 179031
Chad Rosier [Mon, 8 Apr 2013 17:43:47 +0000 (17:43 +0000)]
[ms-inline asm] Add support for ImmDisp [ Symbol ] memory operands.
rdar://
13521249
llvm-svn: 179030
Douglas Gregor [Mon, 8 Apr 2013 17:12:58 +0000 (17:12 +0000)]
<rdar://problem/
12806802> Propagate access specifiers for conversion functions to the conversion function set eagerly.
This slightly propagates an existing hack that delays when we provide
access specifiers for the visible conversion functions of a class by
copying the available access specifier early. The only client this
affects is LLDB, which tends to discover and add conversion functions
after the class is technically "complete". As such, the only
observable difference is in LLDB, so the testing will go there.
llvm-svn: 179029
Daniel Jasper [Mon, 8 Apr 2013 16:44:05 +0000 (16:44 +0000)]
Add matcher for NamespaceDecls.
llvm-svn: 179027
Hal Finkel [Mon, 8 Apr 2013 16:24:03 +0000 (16:24 +0000)]
Generate PPC early conditional returns
PowerPC has a conditional branch to the link register (return) instruction: BCLR.
This should be used any time when we'd otherwise have a conditional branch to a
return. This adds a small pass, PPCEarlyReturn, which runs just prior to the
branch selection pass (and, importantly, after block placement) to generate
these conditional returns when possible. It will also eliminate unconditional
branches to returns (these happen rarely; most of the time these have already
been tail duplicated by the time PPCEarlyReturn is invoked). This is a nice
optimization for small functions that do not maintain a stack frame.
llvm-svn: 179026
Alexey Samsonov [Mon, 8 Apr 2013 14:37:16 +0000 (14:37 +0000)]
DWARF parser: remove duplicated code and fix code style in DIE extractors.
llvm-svn: 179023
Evgeniy Stepanov [Mon, 8 Apr 2013 13:45:12 +0000 (13:45 +0000)]
[msan] Interceptors for pipe2 and socketpair.
llvm-svn: 179022
Rafael Espindola [Mon, 8 Apr 2013 13:25:33 +0000 (13:25 +0000)]
Add all 4 MachO object types. Use the stored type to implement is64Bits().
llvm-svn: 179021
Vincent Lejeune [Mon, 8 Apr 2013 13:05:49 +0000 (13:05 +0000)]
R600: Control Flow support for pre EG gen
llvm-svn: 179020
Sebastian Pop [Mon, 8 Apr 2013 13:05:41 +0000 (13:05 +0000)]
IndependentBlocks: translate out of SSA all uses escaping the region
llvm-svn: 179019
Sebastian Pop [Mon, 8 Apr 2013 13:05:37 +0000 (13:05 +0000)]
SCEVCodegen should not run createIndVarSimplifyPass
llvm-svn: 179018
Daniel Jasper [Mon, 8 Apr 2013 10:50:02 +0000 (10:50 +0000)]
Remove outdated part of help message.
The styles are now documented with the -style option. This fixes
llvm.org/PR15689.
llvm-svn: 179017
Daniel Jasper [Mon, 8 Apr 2013 10:45:44 +0000 (10:45 +0000)]
Revert accidental commit r179015.
llvm-svn: 179016
Daniel Jasper [Mon, 8 Apr 2013 10:36:32 +0000 (10:36 +0000)]
x
llvm-svn: 179015
Chandler Carruth [Mon, 8 Apr 2013 10:07:50 +0000 (10:07 +0000)]
Simplify the quoting here. Our lit emulator doesn't deal well with the
nested quoting schemes, and they're not important here...
llvm-svn: 179014
Evgeniy Stepanov [Mon, 8 Apr 2013 09:03:00 +0000 (09:03 +0000)]
[msan] Intercept glob().
llvm-svn: 179012
Chandler Carruth [Mon, 8 Apr 2013 08:55:18 +0000 (08:55 +0000)]
Remove a global 'endl' variable from the other file as well.
llvm-svn: 179010
Chandler Carruth [Mon, 8 Apr 2013 08:55:14 +0000 (08:55 +0000)]
Clean up namespaces in obj2yaml.cpp.
llvm-svn: 179009
Evgeniy Stepanov [Mon, 8 Apr 2013 08:46:25 +0000 (08:46 +0000)]
[tsan] Fix build.
llvm-svn: 179008
Kostya Serebryany [Mon, 8 Apr 2013 08:43:22 +0000 (08:43 +0000)]
[sanitizer] Fix boundary condition in LargeMmapAllocator::GetBlockBegin. Patch by Sergey Matveev
llvm-svn: 179007
Tim Northover [Mon, 8 Apr 2013 08:42:24 +0000 (08:42 +0000)]
Add ACLE link to ARM documentation sections
llvm-svn: 179006
Tim Northover [Mon, 8 Apr 2013 08:40:41 +0000 (08:40 +0000)]
AArch64: remove barriers from AArch64 atomic operations.
I've managed to convince myself that AArch64's acquire/release
instructions are sufficient to guarantee C++11's required semantics,
even in the sequentially-consistent case.
llvm-svn: 179005
Chandler Carruth [Mon, 8 Apr 2013 08:39:59 +0000 (08:39 +0000)]
Cleanup the formatting of obj2yaml.cpp.
I couldn't touch this file and not clean it up some. These reformattings
brought to you by clang-format, with some minor adjustments by me. More
spring cleaning to follow here.
llvm-svn: 179004
Chandler Carruth [Mon, 8 Apr 2013 08:30:47 +0000 (08:30 +0000)]
Don't define our own global 'endl' variable. While technically it had
internal linkage and so wasn't a patent bug, it doesn't make any sense
here. We can avoid even calling operator<< by just embedding the newline
in the string literals that were already being streamed out. It also
gives the impression of some line-ending agnosticisms which is not
present, and that flushing happens when it doesn't.
If we want to use std::endl, we could do that, but honestly it doesn't
seem remotely worth it. Using '\n' directly is much more clear when
working with raw_ostream.
It also happens to fix builds with old crufty GCC STL implementations
that include std::endl into the global namespace (or headers written to
be compatible with such atrocities).
llvm-svn: 179003
Evgeniy Stepanov [Mon, 8 Apr 2013 08:25:22 +0000 (08:25 +0000)]
[msan] Intercept time().
llvm-svn: 179002
Benjamin Kramer [Mon, 8 Apr 2013 08:07:35 +0000 (08:07 +0000)]
ARM: Remove unused variable.
llvm-svn: 179001
Hal Finkel [Sun, 7 Apr 2013 22:11:09 +0000 (22:11 +0000)]
Cleanup and improve PPC fsel generation
First, we should not cheat: fsel-based lowering of select_cc is a
finite-math-only optimization (the ISA manual, section F.3 of v2.06, makes
this clear, as does a note in our own README).
This also adds fsel-based lowering of EQ and NE condition codes. As it turned
out, fsel generation was covered by a grand total of zero regression test
cases. I've added some test cases to cover the existing behavior (which is now
finite-math only), as well as the new EQ cases.
llvm-svn: 179000
Arnold Schwaighofer [Sun, 7 Apr 2013 20:22:56 +0000 (20:22 +0000)]
TargetLowering: Fix getTypeConversion handling of extended vector types
The code in getTypeConversion attempts to promote the element vector type
before it trys to split or widen the vector.
After it failed finding a legal vector type by promoting it would continue using
the promoted vector element type. Thereby missing legal splitted vector types.
For example the type v32i32 that has a legal split of 4 x v3i32 on x86/sse2
would be transformed to: v32i256 and from there on successively split to:
v16i256, v8i256, v1i256 and then finally ends up as an i64 type.
By resetting the vector element type to the original vector element type that
existed before the promotion the code will attempt to split the vector type to
smaller vector widths of the same type.
llvm-svn: 178999
Rafael Espindola [Sun, 7 Apr 2013 20:01:29 +0000 (20:01 +0000)]
Make MachOObjectFile independent from MachOObject.
llvm-svn: 178998
Rafael Espindola [Sun, 7 Apr 2013 19:42:15 +0000 (19:42 +0000)]
Implement MachOObjectFile::getData directly.
llvm-svn: 178997
Rafael Espindola [Sun, 7 Apr 2013 19:38:15 +0000 (19:38 +0000)]
Implement MachOObjectFile::is64Bit directly.
llvm-svn: 178996
Rafael Espindola [Sun, 7 Apr 2013 19:31:49 +0000 (19:31 +0000)]
Implement MachOObjectFile::getHeaderSize directly.
llvm-svn: 178995
Rafael Espindola [Sun, 7 Apr 2013 19:26:57 +0000 (19:26 +0000)]
Implement MachOObjectFile::getHeader directly.
llvm-svn: 178994
Jakob Stoklund Olesen [Sun, 7 Apr 2013 19:10:57 +0000 (19:10 +0000)]
Implement LowerCall_64 for the SPARC v9 64-bit ABI.
There is still no support for byval arguments (which I don't think are
needed) and varargs.
llvm-svn: 178993
Rafael Espindola [Sun, 7 Apr 2013 19:05:30 +0000 (19:05 +0000)]
Implement MachOObjectFile::getHeaderSize and MachOObjectFile::getData.
These were the last missing forwarding functions. Also consistently use
the forwarding functions instead of using MachOObj directly.
llvm-svn: 178992
Rafael Espindola [Sun, 7 Apr 2013 18:42:06 +0000 (18:42 +0000)]
Remove LoadCommandInfo now that we always have a pointer to the command.
LoadCommandInfo was needed to keep a command and its offset in the file. Now
that we always have a pointer to the command, we don't need the offset.
llvm-svn: 178991
Rafael Espindola [Sun, 7 Apr 2013 18:08:12 +0000 (18:08 +0000)]
Add MachOObjectFile::LoadCommandInfo.
This avoids using MachOObject::getLoadCommandInfo.
llvm-svn: 178990
Rafael Espindola [Sun, 7 Apr 2013 17:41:59 +0000 (17:41 +0000)]
Use getLoadCommandInfo instead of MachOObj->getLoadCommandInfo.
llvm-svn: 178989
Rafael Espindola [Sun, 7 Apr 2013 16:58:48 +0000 (16:58 +0000)]
Construct MachOObject in MachOObjectFile's constructor.
llvm-svn: 178988
Rafael Espindola [Sun, 7 Apr 2013 16:40:00 +0000 (16:40 +0000)]
Remove unused argument.
llvm-svn: 178987
Rafael Espindola [Sun, 7 Apr 2013 16:07:35 +0000 (16:07 +0000)]
Remove MachOObjectFile::getObject.
llvm-svn: 178986
Rafael Espindola [Sun, 7 Apr 2013 15:46:05 +0000 (15:46 +0000)]
Remove two uses of getObject.
llvm-svn: 178985
Rafael Espindola [Sun, 7 Apr 2013 15:35:18 +0000 (15:35 +0000)]
Remove usage of InMemoryStruct in getSymbol.
llvm-svn: 178984
Hal Finkel [Sun, 7 Apr 2013 15:32:40 +0000 (15:32 +0000)]
PPC Altivec load/store intrinsics can be marked IntrRead[Write]ArgMem
llvm-svn: 178983
Hal Finkel [Sun, 7 Apr 2013 15:06:53 +0000 (15:06 +0000)]
PPC rotate instructions don't have unmodeled side effcts
llvm-svn: 178982
Rafael Espindola [Sun, 7 Apr 2013 15:05:12 +0000 (15:05 +0000)]
Remove a use of InMemoryStruct in llvm-readobj.
llvm-svn: 178981
Rafael Espindola [Sun, 7 Apr 2013 14:50:40 +0000 (14:50 +0000)]
Make getObject const. Remove a const_cast.
llvm-svn: 178980
Rafael Espindola [Sun, 7 Apr 2013 14:40:18 +0000 (14:40 +0000)]
Remove last use of InMemoryStruct in llvm-objdump.
llvm-svn: 178979
Hal Finkel [Sun, 7 Apr 2013 14:33:13 +0000 (14:33 +0000)]
Most PPC M[TF]CR instructions do not have side effects
llvm-svn: 178978
Rafael Espindola [Sun, 7 Apr 2013 14:30:21 +0000 (14:30 +0000)]
Remove dead code.
llvm-svn: 178977
Rafael Espindola [Sun, 7 Apr 2013 14:25:39 +0000 (14:25 +0000)]
Remove unused argument.
llvm-svn: 178976
Benjamin Kramer [Sun, 7 Apr 2013 14:10:40 +0000 (14:10 +0000)]
Sema: Don't crash when trying to emit a warning for a duplicate value in an invalid enum.
Fixes PR15693. A null check on a pointer returned from cast<> is a very dubious
construct, do we have a checker for this somewhere?
llvm-svn: 178975
Chandler Carruth [Sun, 7 Apr 2013 11:47:54 +0000 (11:47 +0000)]
Fix PR15674 (and PR15603): a SROA think-o.
The fix for PR14972 in r177055 introduced a real think-o in the *store*
side, likely because I was much more focused on the load side. While we
can arbitrarily widen (or narrow) a loaded value, we can't arbitrarily
widen a value to be stored, as that changes the width of memory access!
Lock down the code path in the store rewriting which would do this to
only handle the intended circumstance.
All of the existing tests continue to pass, and I've added a test from
the PR.
llvm-svn: 178974
Hal Finkel [Sun, 7 Apr 2013 06:30:47 +0000 (06:30 +0000)]
PPC pre-increment load instructions do not have side effects
A few were missed in r178972.
llvm-svn: 178973
Hal Finkel [Sun, 7 Apr 2013 05:46:58 +0000 (05:46 +0000)]
PPC pre-increment load instructions do not have side effects
llvm-svn: 178972
Hal Finkel [Sun, 7 Apr 2013 05:16:57 +0000 (05:16 +0000)]
PPC MCRF instruction does not have side effects
llvm-svn: 178971
Hal Finkel [Sun, 7 Apr 2013 04:56:16 +0000 (04:56 +0000)]
PPC FMR instruction does not have side effects
llvm-svn: 178970
Eric Christopher [Sun, 7 Apr 2013 03:43:09 +0000 (03:43 +0000)]
DW_FORM_sec_offset should be a relocation on platforms that use
a relocation across sections. Do this for DW_AT_stmt list in the
skeleton CU and check the relocations in the debug_info section.
Add a FIXME for multiple CUs.
llvm-svn: 178969
Reid Kleckner [Sun, 7 Apr 2013 01:45:01 +0000 (01:45 +0000)]
[cmake] Avoid rel+asserts warnings when passing -UNDEBUG
MSVC 2012 gives warning D9025, "overriding /D NDEBUG with -UNDEBUG".
Removing the original definition of NDEBUG silences this.
llvm-svn: 178967