Preston Gurd [Thu, 11 Apr 2013 21:39:01 +0000 (21:39 +0000)]
Use FileCheck instead of grep.
llvm-svn: 179322
Sean Callanan [Thu, 11 Apr 2013 21:16:36 +0000 (21:16 +0000)]
Hand over the job of laying out the argument structure
to the Materializer. Materialization is still done by
the ClangExpressionDeclMap; this will be the next thing
to move.
Also fixed a layout bug that this uncovered.
llvm-svn: 179318
David Majnemer [Thu, 11 Apr 2013 20:13:52 +0000 (20:13 +0000)]
Fix undefined behavior in AArch64
A64Imms::isLogicalImmBits and A64Imms::isLogicalImm will attempt to
execute shifts that perform undefined behavior. Instead of attempting
to perform the 64-bit rotation, treat it as a no-op.
llvm-svn: 179317
David Majnemer [Thu, 11 Apr 2013 20:05:46 +0000 (20:05 +0000)]
Optimize icmp involving addition better
Allows LLVM to optimize sequences like the following:
%add = add nsw i32 %x, 1
%cmp = icmp sgt i32 %add, %y
into:
%cmp = icmp sge i32 %x, %y
as well as:
%add1 = add nsw i32 %x, 20
%add2 = add nsw i32 %y, 57
%cmp = icmp sge i32 %add1, %add2
into:
%add = add nsw i32 %y, 37
%cmp = icmp sle i32 %cmp, %x
llvm-svn: 179316
Jack Carter [Thu, 11 Apr 2013 19:39:19 +0000 (19:39 +0000)]
Mips specific inline asm memory operand modifier test case
These changes are based on commit responses for r179135.
llvm-svn: 179315
Akira Hatanaka [Thu, 11 Apr 2013 19:29:26 +0000 (19:29 +0000)]
[mips] Custom-lower i64 MULHS and MULHU nodes. Remove the code which selects
multiply instructions in MipsSEDAGToDAGISel.
This patch was supposed to be part of r178403.
llvm-svn: 179314
Akira Hatanaka [Thu, 11 Apr 2013 19:07:14 +0000 (19:07 +0000)]
[mips] Clean up MipsISelDAGToDAG.cpp and MipsISelLowering.cpp.
- Rename function.
- Pass iterator by value.
- Remove header include.
No functionality changes.
llvm-svn: 179312
Reid Kleckner [Thu, 11 Apr 2013 19:01:17 +0000 (19:01 +0000)]
Widen the checks in the ms abi memptr test to work under NDEBUG
llvm-svn: 179311
Jyotsna Verma [Thu, 11 Apr 2013 18:56:34 +0000 (18:56 +0000)]
Exclude test30 of Sema/return.c for Hexagon since setjmp.h include file
is unavailable for Hexagon.
llvm-svn: 179310
Bob Wilson [Thu, 11 Apr 2013 18:53:25 +0000 (18:53 +0000)]
Add a new -mimplicit-float option for symmetry with -mno-implicit-float.
This new option is the default, but it is useful to have a flag to override
-mno-implicit-float by putting -mimplicit-float later on the command line.
llvm-svn: 179309
Reid Kleckner [Thu, 11 Apr 2013 18:39:10 +0000 (18:39 +0000)]
Follow Jordan's advice and use {{^}} and {{$}} for this test
This is a better way of ensuring that we match the output of the
rewriter and not the CHECK line.
llvm-svn: 179308
Kostya Serebryany [Thu, 11 Apr 2013 18:36:04 +0000 (18:36 +0000)]
[asan] inline flags(), up to 1% perf gain on malloc-intensive code
llvm-svn: 179307
Kostya Serebryany [Thu, 11 Apr 2013 18:27:02 +0000 (18:27 +0000)]
[asan] make heavy_uar_test even heavier
llvm-svn: 179306
Reid Kleckner [Thu, 11 Apr 2013 18:13:19 +0000 (18:13 +0000)]
[ms-cxxabi] Implement member pointer emission and dereferencing
Summary:
Handles all inheritance models for both data and function member
pointers.
Also implements isZeroInitializable() and refactors some of the null
member pointer code.
MSVC supports converting member pointers through virtual bases, which
clang does not (yet?) support. Implementing that extension is covered
by http://llvm.org/15713
Reviewers: rjmccall
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D613
llvm-svn: 179305
Sean Callanan [Thu, 11 Apr 2013 17:57:16 +0000 (17:57 +0000)]
Handle C++ static variables in the expression
parser.
<rdar://problem/
13631469>
llvm-svn: 179304
Rafael Espindola [Thu, 11 Apr 2013 17:46:10 +0000 (17:46 +0000)]
Revert my last two commits while I debug what is wrong in a big endian host.
llvm-svn: 179303
Argyrios Kyrtzidis [Thu, 11 Apr 2013 17:37:48 +0000 (17:37 +0000)]
[PCH] Change test/PCH/headersearch.cpp to use -emit-llvm-only instead of -emit-obj
llvm-svn: 179301
Argyrios Kyrtzidis [Thu, 11 Apr 2013 17:31:13 +0000 (17:31 +0000)]
[libclang] Improve a doxygen comment, as suggested by Jordan.
llvm-svn: 179300
Jyotsna Verma [Thu, 11 Apr 2013 17:27:18 +0000 (17:27 +0000)]
Hexagon: Remove -g option from the assembler command line.
llvm-svn: 179299
Rafael Espindola [Thu, 11 Apr 2013 17:23:23 +0000 (17:23 +0000)]
Fix llvm-readobj tests on big endian hosts.
llvm-svn: 179298
Argyrios Kyrtzidis [Thu, 11 Apr 2013 17:02:10 +0000 (17:02 +0000)]
[libclang] Have clang_getCXXAccessSpecifier() also return the access control of a C++ declaration within its parent scope.
Suggested by Stefan Seefeld.
llvm-svn: 179297
Greg Clayton [Thu, 11 Apr 2013 16:57:51 +0000 (16:57 +0000)]
Static variables inside classes were not being added to the RecordDecl, now they are. This gets us closer to being able to display static variables in classes.
llvm-svn: 179296
Sylvestre Ledru [Thu, 11 Apr 2013 16:32:47 +0000 (16:32 +0000)]
cmake build of lldb was complaining about missing files.
Example:
CMake Error at cmake/modules/LLVMProcessSources.cmake:89 (message):
Found unknown source file
/llvm-toolchain-3.3~svn179293.cmake/tools/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
llvm-svn: 179295
Rafael Espindola [Thu, 11 Apr 2013 16:31:37 +0000 (16:31 +0000)]
Print more information about relocations.
With this patch llvm-readobj now prints if a relocation is pcrel, its length,
if it is extern and if it is scattered.
It also refactors the code a bit to use bit fields instead of shifts and
masks all over the place.
llvm-svn: 179294
Alexey Samsonov [Thu, 11 Apr 2013 15:49:52 +0000 (15:49 +0000)]
Explicitly list all sanitizer headers in CMake build rules. Make sure sanitizer lit_tests depend on fresh headers.
llvm-svn: 179293
Kostya Serebryany [Thu, 11 Apr 2013 15:35:40 +0000 (15:35 +0000)]
[asan] improve the UAR reporting (try harder to find the correct frame), try to make the test more stable
llvm-svn: 179292
Benjamin Kramer [Thu, 11 Apr 2013 15:10:09 +0000 (15:10 +0000)]
Fix for wrong instcombine on vector insert/extract
When trying to collapse sequences of insertelement/extractelement
instructions into single shuffle instructions, there is one specific
case where the Instruction Combiner wrongly updates the resulting
Mask of shuffle indexes.
The problem is in function CollectShuffleElments.
If we have a sequence of insert/extract element instructions
like the one below:
%tmp1 = extractelement <4 x float> %LHS, i32 0
%tmp2 = insertelement <4 x float> %RHS, float %tmp1, i32 1
%tmp3 = extractelement <4 x float> %RHS, i32 2
%tmp4 = insertelement <4 x float> %tmp2, float %tmp3, i32 3
Where:
. %RHS will have a mask of [4,5,6,7]
. %LHS will have a mask of [0,1,2,3]
The Mask of shuffle indexes is wrongly computed to [4,1,6,7]
instead of [4,0,6,7].
When analyzing %tmp2 in order to compute the Mask for the
resulting shuffle instruction, the algorithm forgets to update
the mask index at position 1 with the index associated to the
element extracted from %LHS by instruction %tmp1.
Patch by Andrea DiBiagio!
llvm-svn: 179291
Eli Bendersky [Thu, 11 Apr 2013 14:43:19 +0000 (14:43 +0000)]
Add a CHECK-NOT for a more faithful translation of the original grep | count 2.
Thanks to Reid Kleckner for catching this.
llvm-svn: 179289
Evgeniy Stepanov [Thu, 11 Apr 2013 14:37:04 +0000 (14:37 +0000)]
[sanitizer] Syscall hooks.
Pre- and post- hooks for linux syscalls. Not wired into anything, but exposed
through public interface.
llvm-svn: 179288
Daniel Jasper [Thu, 11 Apr 2013 14:29:13 +0000 (14:29 +0000)]
Change clang-format's affinity for breaking after return types.
Function declarations are now broken with the following preferences:
1) break amongst arguments.
2) break after return type.
3) break after (.
4) break before after nested name specifiers.
Options #2 or #3 are preferred over #1 only if a substantial number of
lines can be saved by that.
llvm-svn: 179287
Kostya Serebryany [Thu, 11 Apr 2013 14:07:02 +0000 (14:07 +0000)]
[asan] make heavy_uar_test a bit more heavy and fix he fake stack to pass this test
llvm-svn: 179286
Rafael Espindola [Thu, 11 Apr 2013 14:06:34 +0000 (14:06 +0000)]
Add a function to check if an argument list is too long.
This will be used in clang to decide if it should create an @file or not. It
will be tested on the clang side.
Patch by Nathan Froyd.
llvm-svn: 179285
Reid Kleckner [Thu, 11 Apr 2013 13:43:19 +0000 (13:43 +0000)]
Fix failing dependencies-and-pp.c test
The bots seem to do more line wrapping because they have longer absolute
paths.
llvm-svn: 179284
Reid Kleckner [Thu, 11 Apr 2013 13:34:18 +0000 (13:34 +0000)]
Use lit's internal shell runner on Windows for Clang tests
The behavior can be overridden by setting LIT_USE_INTERNAL_SHELL=0 in
the environment.
This fixes issues with /dev/null for me and brings the test suite time
down to 30s. =D
llvm-svn: 179283
Reid Kleckner [Thu, 11 Apr 2013 13:24:56 +0000 (13:24 +0000)]
FileCheck-ify more grep tests with quoted double quotes
This required some tedious reordering to match clang's order.
Presumably these ObjC tests were generated based on llvm-gcc's output
ordering.
llvm-svn: 179282
Alexey Samsonov [Thu, 11 Apr 2013 13:21:41 +0000 (13:21 +0000)]
[ASan] test source-based init-order blacklisting added in r179280
llvm-svn: 179281
Alexey Samsonov [Thu, 11 Apr 2013 13:20:00 +0000 (13:20 +0000)]
[ASan] Allow disabling init-order checks for globals by source file name.
llvm-svn: 179280
Sylvestre Ledru [Thu, 11 Apr 2013 13:15:39 +0000 (13:15 +0000)]
Add myself in the CREDITS.TXT
llvm-svn: 179279
Kostya Serebryany [Thu, 11 Apr 2013 12:49:38 +0000 (12:49 +0000)]
[asan] fix use-after-return functionality (PR15672) and enable the corresponding test. We still don't guarantee anything with regard to use-after-return checking
llvm-svn: 179278
Benjamin Kramer [Thu, 11 Apr 2013 12:41:41 +0000 (12:41 +0000)]
Add missing colons to check lines.
llvm-svn: 179277
Benjamin Kramer [Thu, 11 Apr 2013 12:32:23 +0000 (12:32 +0000)]
FileCheckize a bunch of tests.
llvm-svn: 179276
Benjamin Kramer [Thu, 11 Apr 2013 11:57:01 +0000 (11:57 +0000)]
Add braces around || in && to pacify GCC.
llvm-svn: 179275
Alexey Samsonov [Thu, 11 Apr 2013 11:45:04 +0000 (11:45 +0000)]
[ASan] Symbolize correct address when printint error summary
llvm-svn: 179274
Kostya Serebryany [Thu, 11 Apr 2013 11:39:19 +0000 (11:39 +0000)]
[asan] move fake stack into a separate .h file; actually disable a failing test
llvm-svn: 179273
Benjamin Kramer [Thu, 11 Apr 2013 11:36:36 +0000 (11:36 +0000)]
Rename the C function to create a SLPVectorizerPass to something sane and expose it in the header file.
llvm-svn: 179272
Kostya Serebryany [Thu, 11 Apr 2013 11:29:07 +0000 (11:29 +0000)]
[asan] add heavy_uar_test (disabled); fix lint
llvm-svn: 179271
Daniel Jasper [Thu, 11 Apr 2013 08:48:20 +0000 (08:48 +0000)]
Fix formatting of overloaded assignment operators.
Before: SomeType &operator=(const SomeType & S);
After: SomeType &operator=(const SomeType &S);
llvm-svn: 179270
Ryan Govostes [Thu, 11 Apr 2013 06:04:50 +0000 (06:04 +0000)]
[analyzer] Factor common code from {SymSym,SymInt,IntSym}Expr to BinarySymExpr
llvm-svn: 179269
Tobias Grosser [Thu, 11 Apr 2013 05:55:13 +0000 (05:55 +0000)]
ScheduleOptimizer: Use isl_map_from_union_map to extract map.
llvm-svn: 179268
Michael Liao [Thu, 11 Apr 2013 05:15:54 +0000 (05:15 +0000)]
Optimize vector select from all 0s or all 1s
As packed comparisons in AVX/SSE produce all 0s or all 1s in each SIMD lane,
vector select could be simplified to AND/OR or removed if one or both values
being selected is all 0s or all 1s.
llvm-svn: 179267
Michael Liao [Thu, 11 Apr 2013 04:52:28 +0000 (04:52 +0000)]
Add CLAC/STAC instruction encoding/decoding support
As these two instructions in AVX extension are privileged instructions for
special purpose, it's only expected to be used in inlined assembly.
llvm-svn: 179266
Michael Liao [Thu, 11 Apr 2013 04:43:09 +0000 (04:43 +0000)]
Enhance bool simplifcation in X86 to handle more cases
This patch is revised based on patch from Victor Umansky
<victor.umansky@intel.com>. More cases are handled in X86's bool
simplification, i.e.
- SETCC_CARRY
- value is truncated to i1 with AND
As a by-product, PR5443 is also fixed.
llvm-svn: 179265
Shankar Easwaran [Thu, 11 Apr 2013 04:20:21 +0000 (04:20 +0000)]
[test] missing underscore while checking for test output
llvm-svn: 179264
NAKAMURA Takumi [Thu, 11 Apr 2013 04:16:27 +0000 (04:16 +0000)]
R600ControlFlowFinalizer.cpp: Fix a warning. [-Wunused-variable]
llvm-svn: 179263
NAKAMURA Takumi [Thu, 11 Apr 2013 04:16:22 +0000 (04:16 +0000)]
Whitespace.
llvm-svn: 179262
NAKAMURA Takumi [Thu, 11 Apr 2013 04:16:11 +0000 (04:16 +0000)]
ARCMigrate/Transforms.h: Remove \arg in comment. [-Wdocumentation]
llvm-svn: 179261
Shankar Easwaran [Thu, 11 Apr 2013 04:08:11 +0000 (04:08 +0000)]
[test] fix failing test, the test was not accounting for - in the path
llvm-svn: 179260
Rafael Espindola [Thu, 11 Apr 2013 03:34:37 +0000 (03:34 +0000)]
Simplify the code. No functionality change.
llvm-svn: 179259
Jason Molenda [Thu, 11 Apr 2013 03:14:01 +0000 (03:14 +0000)]
Change the disassemble option to specify the architecture from '-a'
to '-A'.
Add option '-a' / '--address' to disassemble which will find the
function that contains that address, and disassemble the entire function.
<rdar://problem/
13436207>
llvm-svn: 179258
Shankar Easwaran [Thu, 11 Apr 2013 02:56:30 +0000 (02:56 +0000)]
This adds functionality for undefined atoms from dynamic libraries to be added
to the list of undefined atoms.
The processing of undefined atoms from dynamic libraries is controlled by
use-shlib-undefines command line option.
This patch also adds additional command line arguments to allow/disallow
unresolved symbols from shared libraries and mimics GNU ld behavior.
llvm-svn: 179257
Rafael Espindola [Thu, 11 Apr 2013 02:52:29 +0000 (02:52 +0000)]
Add MachO-x86-64 tests.
The object was already checked in, but was not being tested.
llvm-svn: 179256
Rafael Espindola [Thu, 11 Apr 2013 02:21:31 +0000 (02:21 +0000)]
Fix MachO's getRelocationAdditionalInfo.
It was returning the loaded address of the section containing the relocation,
which really doesn't seem to be the intent of this function.
llvm-svn: 179255
John McCall [Thu, 11 Apr 2013 02:14:26 +0000 (02:14 +0000)]
Drop ObjCIndirectCopyRestoreExprs during template instantiation.
It's a kind of implicit conversion, which we generally drop, but
more importantly it's got very specific placement requirements.
rdar://
13617051
llvm-svn: 179254
Sean Callanan [Thu, 11 Apr 2013 02:05:11 +0000 (02:05 +0000)]
Changed the way ClangExpressionDeclMap registers
entities with the new Materializer so that it only
registers those entities that actually need to be
placed in the struct.
llvm-svn: 179253
Hal Finkel [Thu, 11 Apr 2013 01:23:34 +0000 (01:23 +0000)]
Make PPCInstrInfo::isPredicated always return false
Because of how predication in implemented on PPC (only for branches), I think
that this is the right thing to do. No functionality change intended.
llvm-svn: 179252
Argyrios Kyrtzidis [Thu, 11 Apr 2013 01:20:11 +0000 (01:20 +0000)]
[libclang] Expose record layout info via new libclang functions:
clang_Type_getAlignOf
clang_Type_getSizeOf
clang_Type_getOffsetOf
clang_Cursor_isBitField
Patch by Loïc Jaquemet!
llvm-svn: 179251
Jordan Rose [Thu, 11 Apr 2013 00:58:58 +0000 (00:58 +0000)]
Force a load when creating a reference to a temporary copied from a bitfield.
For this source:
const int &ref = someStruct.bitfield;
We used to generate this AST:
DeclStmt [...]
`-VarDecl [...] ref 'const int &'
`-MaterializeTemporaryExpr [...] 'const int' lvalue
`-ImplicitCastExpr [...] 'const int' lvalue <NoOp>
`-MemberExpr [...] 'int' lvalue bitfield .bitfield [...]
`-DeclRefExpr [...] 'struct X' lvalue ParmVar [...] 'someStruct' 'struct X'
Notice the lvalue inside the MaterializeTemporaryExpr, which is very
confusing (and caused an assertion to fire in the analyzer - PR15694).
We now generate this:
DeclStmt [...]
`-VarDecl [...] ref 'const int &'
`-MaterializeTemporaryExpr [...] 'const int' lvalue
`-ImplicitCastExpr [...] 'int' <LValueToRValue>
`-MemberExpr [...] 'int' lvalue bitfield .bitfield [...]
`-DeclRefExpr [...] 'struct X' lvalue ParmVar [...] 'someStruct' 'struct X'
Which makes a lot more sense. This allows us to remove code in both
CodeGen and AST that hacked around this special case.
The commit also makes Clang accept this (legal) C++11 code:
int &&ref = std::move(someStruct).bitfield
PR15694 / <rdar://problem/
13600396>
llvm-svn: 179250
Daniel Dunbar [Thu, 11 Apr 2013 00:31:35 +0000 (00:31 +0000)]
lit: Don't descend into .git directories during test discovery.
llvm-svn: 179249
Daniel Dunbar [Thu, 11 Apr 2013 00:31:27 +0000 (00:31 +0000)]
lit: Shorten a metavar to make --help look nicer.
llvm-svn: 179248
Daniel Dunbar [Thu, 11 Apr 2013 00:31:22 +0000 (00:31 +0000)]
lit: Add a test for discovery when exact test names are given.
llvm-svn: 179247
Enrico Granata [Thu, 11 Apr 2013 00:28:12 +0000 (00:28 +0000)]
Updated the line on which to break for the formatters test
Moving over to source-regex might be a good idea, but it’s not what we really want to test. Ideally, we would set a regex breakpoint to find the right line, then delete it and set one by file and line with the right line info from before.
llvm-svn: 179246
Sean Callanan [Thu, 11 Apr 2013 00:09:05 +0000 (00:09 +0000)]
Added a Materializer class that contains
information about each variable that needs to
be materialized for an expression to work. The
next step is to migrate all materialization code
from ClangExpressionDeclMap to Materializer, and
to use it for variable materialization.
llvm-svn: 179245
Nico Rieck [Thu, 11 Apr 2013 00:05:57 +0000 (00:05 +0000)]
Add man page for llvm-readobj
llvm-svn: 179244
Daniel Dunbar [Thu, 11 Apr 2013 00:05:37 +0000 (00:05 +0000)]
lit: Add a trivial test of the basic progress bar.
llvm-svn: 179243
Anton Yartsev [Thu, 11 Apr 2013 00:05:20 +0000 (00:05 +0000)]
[analyzer] Refactoring: better doxygen comment; renaming isTrackedFamily to isTrackedByCurrentChecker
llvm-svn: 179242
Eli Bendersky [Wed, 10 Apr 2013 23:30:20 +0000 (23:30 +0000)]
Rewrite some of the test/CodeGen/X86 tests to use FileCheck instead of grep
llvm-svn: 179241
Nico Rieck [Wed, 10 Apr 2013 23:28:17 +0000 (23:28 +0000)]
MC: Support COFF image-relative MCSymbolRefs
Add support for the COFF relocation types IMAGE_REL_I386_DIR32NB and
IMAGE_REL_AMD64_ADDR32NB for 32- and 64-bit respectively. These are
similar to normal 4-byte relocations except that they do not include
the base address of the image.
Image-relative relocations are used for debug information (32-bit) and
SEH unwind tables (64-bit).
A new MCSymbolRef variant called 'VK_COFF_IMGREL32' is introduced to
specify such relocations. For AT&T assembly, this variant can be accessed
using the symbol suffix '@imgrel'.
llvm-svn: 179240
Joey Gouly [Wed, 10 Apr 2013 23:21:26 +0000 (23:21 +0000)]
Delete the functions F1 and F2 to appease the valgrind bot.
llvm-svn: 179239
Fariborz Jahanian [Wed, 10 Apr 2013 23:10:42 +0000 (23:10 +0000)]
comment parsing. Add couple more needed doxygen tags.
// rdar://
12379053
llvm-svn: 179238
Adrian Prantl [Wed, 10 Apr 2013 23:09:00 +0000 (23:09 +0000)]
get rid of stdio.h include in testcase
llvm-svn: 179237
Adrian Prantl [Wed, 10 Apr 2013 23:08:57 +0000 (23:08 +0000)]
add mips target requirement to testcase
llvm-svn: 179236
Anna Zaks [Wed, 10 Apr 2013 22:56:33 +0000 (22:56 +0000)]
[analyzer] Address Jordan’s review of r179219
llvm-svn: 179235
Anna Zaks [Wed, 10 Apr 2013 22:56:30 +0000 (22:56 +0000)]
[analyzer] Address Jordan’s code review of r 179221
llvm-svn: 179234
Tobias Grosser [Wed, 10 Apr 2013 22:48:08 +0000 (22:48 +0000)]
ScheduleOpt: Do not crash on statements with empty iteration domains
Statements with an empty iteration domain may not have a schedule assigned by
the isl schedule optimizer. As Polly expects each statement to have a schedule,
we keep the old schedule for such statements.
This fixes http://llvm.org/PR15645`
Reported-by: Johannes Doerfert <johannesdoerfert@gmx.de>
llvm-svn: 179233
Anton Yartsev [Wed, 10 Apr 2013 22:36:16 +0000 (22:36 +0000)]
[analyzer] +Testcase: several used-after-free args passed to a function.
llvm-svn: 179232
Anton Yartsev [Wed, 10 Apr 2013 22:21:41 +0000 (22:21 +0000)]
[analyzer] Switched to checkPreCall interface for detecting usage after free.
Now the check is also applied to arguments for Objective-C method calls and to 'this' pointer.
llvm-svn: 179230
Jack Carter [Wed, 10 Apr 2013 22:10:45 +0000 (22:10 +0000)]
Mips specific inline asm memory operand modifier test case
These changes are based on commit responses for r179135.
llvm-svn: 179229
Anna Zaks [Wed, 10 Apr 2013 22:06:29 +0000 (22:06 +0000)]
[analyzer] Fix a crash in SyntaxCString checker when given a custom strncat.
Fixes PR13476
llvm-svn: 179228
Hal Finkel [Wed, 10 Apr 2013 22:05:25 +0000 (22:05 +0000)]
Manually remove successors in if conversion when CopyAndPredicateBlock is used
In the simple and triangle if-conversion cases, when CopyAndPredicateBlock is
used because the to-be-predicated block has other predecessors, we need to
explicitly remove the old copied block from the successors list. Normally if
conversion relies on TII->AnalyzeBranch combined with BB->CorrectExtraCFGEdges
to cleanup the successors list, but if the predicated block contained an
un-analyzable branch (such as a now-predicated return), then this will fail.
These extra successors were causing a problem on PPC because it was causing
later passes (such as PPCEarlyReturm) to leave dead return-only basic blocks in
the code.
llvm-svn: 179227
Bill Wendling [Wed, 10 Apr 2013 22:03:59 +0000 (22:03 +0000)]
No need to have this return a bool.
llvm-svn: 179226
Jack Carter [Wed, 10 Apr 2013 22:02:32 +0000 (22:02 +0000)]
Mips specific inline asm memory operand modifier test case
These changes are based on commit responses for r179135.
llvm-svn: 179225
Bill Wendling [Wed, 10 Apr 2013 21:56:52 +0000 (21:56 +0000)]
Move info to CREDITS.TXT file.
llvm-svn: 179224
Kay Tiong Khoo [Wed, 10 Apr 2013 21:52:25 +0000 (21:52 +0000)]
fixed xsave, xsaveopt, xrstor mnemonics with intel syntax; added test cases
llvm-svn: 179223
Eric Christopher [Wed, 10 Apr 2013 21:45:07 +0000 (21:45 +0000)]
Revert "Update the version of dwarf we say we're emitting to at least 3."
temporarily while we work on plumbing through some changes to continue
supporting gdb on darwin.
This reverts commit r179122.
llvm-svn: 179222
Anna Zaks [Wed, 10 Apr 2013 21:42:06 +0000 (21:42 +0000)]
[analyzer] When reporting a leak in RetainCount checker due to an early exit from init, step into init.
The heuristic here (proposed by Jordan) is that, usually, if a leak is due to an early exit from init, the allocation site will be
a call to alloc. Note that in other cases init resets self to [super init], which becomes the allocation site of the object.
llvm-svn: 179221
Bill Wendling [Wed, 10 Apr 2013 21:42:06 +0000 (21:42 +0000)]
Track the compact unwind encoding for when we are unable to generate compact unwind information.
Compact unwind has an encoding for when we're not able to generate compact
unwind and must generate an EH frame instead. Track that, but still emit that CU
encoding.
llvm-svn: 179220
Anna Zaks [Wed, 10 Apr 2013 21:42:02 +0000 (21:42 +0000)]
[analyzer] Cleanup leak warnings: do not print the names of variables from other functions.
llvm-svn: 179219
Eric Christopher [Wed, 10 Apr 2013 21:30:40 +0000 (21:30 +0000)]
For split dwarf we should also run the objcopy action if we're
just assembling a file and have passed the option.
llvm-svn: 179218
Chad Rosier [Wed, 10 Apr 2013 21:30:03 +0000 (21:30 +0000)]
Remove unused arguments.
llvm-svn: 179217
Chad Rosier [Wed, 10 Apr 2013 21:26:02 +0000 (21:26 +0000)]
[driver] Add a -Ofast option, which enables -O3, -ffast-math, and
-fstrict-aliasing.
rdar://
13622687
llvm-svn: 179216