Sam Panzer [Fri, 24 Aug 2012 23:29:33 +0000 (23:29 +0000)]
Reverted to correct commit this time.
llvm-svn: 162624
Richard Smith [Fri, 24 Aug 2012 23:29:28 +0000 (23:29 +0000)]
Fix integer undefined behavior due to signed left shift overflow in LLVM.
Reviewed offline by chandlerc.
llvm-svn: 162623
Jakob Stoklund Olesen [Fri, 24 Aug 2012 23:29:07 +0000 (23:29 +0000)]
Add missing mayLoad flags to a large class of AVX *_Int instructions.
llvm-svn: 162622
Ted Kremenek [Fri, 24 Aug 2012 23:08:08 +0000 (23:08 +0000)]
Rework how scan-build picks the version of clang to use for static analysis.
Unless the user specifies, the clang used for static analysis is the one
found relative to scan-build.
If the user specifies -with-analyzer, they can pick either to use
the clang bundled with Xcode (via xcrun) or they can specify
a path to clang.
llvm-svn: 162620
Ted Kremenek [Fri, 24 Aug 2012 23:08:06 +0000 (23:08 +0000)]
Reformat help text for scan-build, and remove -constraints
and -store from help text because they are no longer relevant
to users.
llvm-svn: 162619
Sam Panzer [Fri, 24 Aug 2012 23:02:27 +0000 (23:02 +0000)]
Reverted incorect partial commit of loop migrator. git-svn strikes again
llvm-svn: 162618
Jim Ingham [Fri, 24 Aug 2012 22:56:40 +0000 (22:56 +0000)]
Add the "expr" command to the gdb command equivalents.
llvm-svn: 162617
John McCall [Fri, 24 Aug 2012 22:54:02 +0000 (22:54 +0000)]
When computing the effective context for access control,
make sure we walk up the DC chain for the current context,
rather than allowing ourselves to get switched over to the
canonical DC chain. Fixes PR13642.
llvm-svn: 162616
Jakob Stoklund Olesen [Fri, 24 Aug 2012 22:46:55 +0000 (22:46 +0000)]
Missed tLEApcrelJT.
ARMConstantIslandPass expects this instruction to stay in the same basic
block as the jump table branch.
llvm-svn: 162615
Jakob Stoklund Olesen [Fri, 24 Aug 2012 22:46:53 +0000 (22:46 +0000)]
Infer instruction properties from single-instruction patterns.
Previously, instructions without a primary patterns wouldn't get their
properties inferred. Now, we use all single-instruction patterns for
inference, including 'def : Pat<>' instances.
This causes a lot of instruction flags to change.
- Many instructions no longer have the UnmodeledSideEffects flag because
their flags are now inferred from a pattern.
- Instructions with intrinsics will get a mayStore flag if they already
have UnmodeledSideEffects and a mayLoad flag if they already have
mayStore. This is because intrinsics properties are linear.
- Instructions with atomic_load patterns get a mayStore flag because
atomic loads can't be reordered. The correct workaround is to create
pseudo-instructions instead of using normal loads. PR13693.
llvm-svn: 162614
Howard Hinnant [Fri, 24 Aug 2012 22:15:12 +0000 (22:15 +0000)]
Wrap throw in _LIBCPP_NO_EXCEPTIONS in debug.cpp. Calls abort if can't throw an exception. Fixes llvm.org/bugs/show_bug.cgi?id=13082.
llvm-svn: 162613
Sam Panzer [Fri, 24 Aug 2012 22:10:18 +0000 (22:10 +0000)]
Slight refactoring
llvm-svn: 162612
Sam Panzer [Fri, 24 Aug 2012 22:10:15 +0000 (22:10 +0000)]
Fixes according to code review comments
llvm-svn: 162611
Sam Panzer [Fri, 24 Aug 2012 22:10:10 +0000 (22:10 +0000)]
For Loop Conversion
Loop Converter Skeleton - array-step-1
Added a check to loop increments - array-step-2b
Added a check on the loop's condition expression - array-step-2c
Finished array matcher - array-step-2
Retrieved matched nodes - array-step-3
Analysis for array loop indices - array-step-4
Added checking for naming and variable scope
Added confidence level and count-only command line args
Added aliased variable elision
Added support for iterator-based loops
Added support for single-iterator loops which call end() repeatedly
Added support for converting array-like containers
llvm-svn: 162610
Sam Panzer [Fri, 24 Aug 2012 22:04:44 +0000 (22:04 +0000)]
New matcher for MaterializeTemporaryExpr
llvm-svn: 162609
Howard Hinnant [Fri, 24 Aug 2012 22:03:03 +0000 (22:03 +0000)]
Have basic_istream seekg, putback and unget first clear eofbit. Fixes llvm.org/bugs/show_bug.cgi?id=13089.
llvm-svn: 162608
Howard Hinnant [Fri, 24 Aug 2012 21:45:19 +0000 (21:45 +0000)]
Add Hyeon-bin Jeong to CREDITS.TXT
llvm-svn: 162604
Jakob Stoklund Olesen [Fri, 24 Aug 2012 21:44:11 +0000 (21:44 +0000)]
Explicitly mark LEApcrel pseudos with hasSideEffects.
It's not clear that they should be marked as such, but tbb formation
fails if t2LEApcrelJT is hoisted of of a loop.
This doesn't change the flags on these instructions,
UnmodeledSideEffects was already inferred from the missing pattern.
llvm-svn: 162603
Chad Rosier [Fri, 24 Aug 2012 21:42:51 +0000 (21:42 +0000)]
[ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a
CodeGen option to a LangOpt option. In turn, hoist the guard into the parser
so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This
should restore the behavior of clang to that prior to r158325.
<rdar://problem/
12163681>
llvm-svn: 162602
Howard Hinnant [Fri, 24 Aug 2012 21:20:56 +0000 (21:20 +0000)]
Hyeon-Bin Jeong: 1. sync() should reset it’s external buffer pointers.
Remaining characters should be discarded once sync() called. If don’t, garbage
characters can be inserted to the front of external buffer in underflow().
Because underflow() copies remaining characters in external buffer to it’s
front. This results wrong characters insertion when seekpos() or seekoff() is
called.
this line should be inserted in sync() just before return:
__extbufnext_ = __extbufend_ = __extbuf_;
2. sync() should use length() rather than out() to calculate offset.
Reversing iterators and calling out() to calculate offset from behind is
working fine in stateless character encoding. However, in stateful encoding,
escape sequences could differ in length. As a result, out() could return wrong
length.
For example, if we have internal buffer converted from this external sequence:
(capital letters mean escape sequence)
… a a a a B b b b b
out() produces this sequence.
b b b b A a a a a
Because out() inserts escape sequence A rather than B, result sequence doesn't
match to external sequence. A and B could have different lengths, result offset
could be wrong value too.
length() method in codecvt is right for calculating offset, but it counts
offset from the beginning of buffer. So it requires another state member
variable to hold state before conversion.
Fixes http://llvm.org/bugs/show_bug.cgi?id=13667
llvm-svn: 162601
Enrico Granata [Fri, 24 Aug 2012 21:20:14 +0000 (21:20 +0000)]
Providing an additional Python command example
llvm-svn: 162600
Jakob Stoklund Olesen [Fri, 24 Aug 2012 21:08:09 +0000 (21:08 +0000)]
Stop inferring isVariadic from instruction patterns.
Instructions are now only marked as variadic if they use variable_ops in
their ins list.
A variadic SDNode is typically used for call nodes that have the call
arguments as operands.
A variadic MachineInstr can actually encode a variable number of
operands, for example ARM's stm/ldm instructions. A call instruction
does not have to be variadic. The call argument registers are added as
implicit operands.
This change remove the MCID::Variadic flags from most call and return
instructions, allowing us to better verify their operands.
llvm-svn: 162599
Anna Zaks [Fri, 24 Aug 2012 21:07:49 +0000 (21:07 +0000)]
[analyzer] Ted fixed the plist-html issue, so the assert can go away.
llvm-svn: 162598
Anna Zaks [Fri, 24 Aug 2012 21:07:45 +0000 (21:07 +0000)]
[analyzer] More fixups/rewording based on Jordan's feedback.
llvm-svn: 162597
Jakob Stoklund Olesen [Fri, 24 Aug 2012 20:52:46 +0000 (20:52 +0000)]
Fix call instruction operands in ARMFastISel.
The ARM BL and BLX instructions don't have predicate operands, but the
thumb variants tBL and tBLX do.
The argument registers should be added as implicit uses.
llvm-svn: 162593
Jakob Stoklund Olesen [Fri, 24 Aug 2012 20:52:44 +0000 (20:52 +0000)]
Mark X86::RET and RETI instructions as variadic.
There is special magic happening when returning floating point values on
the x87 stack. The RET instructions get extra f80 operands.
llvm-svn: 162592
Jakob Stoklund Olesen [Fri, 24 Aug 2012 20:52:42 +0000 (20:52 +0000)]
Avoid including explicit uses when counting SDNode imp-uses.
It is legal to have a register node as an explicit operand, it shouldn't
be counted as an implicit use.
llvm-svn: 162591
Benjamin Kramer [Fri, 24 Aug 2012 20:43:21 +0000 (20:43 +0000)]
Remove unnecessary calls to c_str.
llvm-svn: 162590
Akira Hatanaka [Fri, 24 Aug 2012 20:40:15 +0000 (20:40 +0000)]
Disable Mips' delay slot filler when optimization level is O0.
llvm-svn: 162589
Ted Kremenek [Fri, 24 Aug 2012 20:39:55 +0000 (20:39 +0000)]
Fix analyzer tests.
llvm-svn: 162588
Ted Kremenek [Fri, 24 Aug 2012 20:39:38 +0000 (20:39 +0000)]
Revert "Go ahead and show experimental checkers in the scan-build "-h" output."
llvm-svn: 162587
John McCall [Fri, 24 Aug 2012 20:38:34 +0000 (20:38 +0000)]
Instantiate class template specializations during ADL.
llvm-svn: 162586
Howard Hinnant [Fri, 24 Aug 2012 20:37:00 +0000 (20:37 +0000)]
Fix basic_filebuf's internal buffer is shrinking when using with some codecvt. llvm.org/bugs/show_bug.cgi?id=13602
llvm-svn: 162585
Akira Hatanaka [Fri, 24 Aug 2012 20:21:49 +0000 (20:21 +0000)]
In MipsDAGToDAGISel::SelectAddr, fold add node into address operand, if its
second operand is MipsISD::GPRel.
llvm-svn: 162584
Fariborz Jahanian [Fri, 24 Aug 2012 20:10:53 +0000 (20:10 +0000)]
objective-C: When checking for valid overriden property
in class extension, assume default is rewdwrite and don't
issue any diagnostics, privided other ownership models
are ok.
llvm-svn: 162583
Ted Kremenek [Fri, 24 Aug 2012 19:46:03 +0000 (19:46 +0000)]
Rename the "experimental" checker package to "alpha". We will then refine
this group into "alpha" and "beta" to distinguish between checkers in
different levels of premature state.
llvm-svn: 162582
Ted Kremenek [Fri, 24 Aug 2012 19:35:19 +0000 (19:35 +0000)]
Rework how PathDiagnosticConsumers pass knowledge of what files they
generated for a given diagnostic to another. Because PathDiagnostics
are specific to a give PathDiagnosticConsumer, store in
a FoldingSet a unique hash for a PathDiagnostic (that will be the same
for the same bug for different PathDiagnosticConsumers) that
stores a list of files generated. This can then be read by the
other PathDiagnosticConsumers.
This fixes breakage in the PLIST-HTML output.
llvm-svn: 162580
Anna Zaks [Fri, 24 Aug 2012 18:43:09 +0000 (18:43 +0000)]
[analyzer] Address Jordan's review comments.
llvm-svn: 162579
Manman Ren [Fri, 24 Aug 2012 18:40:00 +0000 (18:40 +0000)]
Forgot to check in ProfileDataTypes.h in r162576
llvm-svn: 162578
Manman Ren [Fri, 24 Aug 2012 18:31:44 +0000 (18:31 +0000)]
Profile: move a single enum out of ProfileInfoTypes.h into a new
ProfileDataTypes.h header.
With this patch the old and new profiling code can exist side-by-side. The new
profiling code will be submitted soon and it only supports insert-edge-profiling
for now and will not depend on ProfileInfo.
Patch by Alastair Murray.
llvm-svn: 162576
Chad Rosier [Fri, 24 Aug 2012 18:31:16 +0000 (18:31 +0000)]
Fix 80-column violation.
llvm-svn: 162575
Sean Callanan [Fri, 24 Aug 2012 18:21:05 +0000 (18:21 +0000)]
Changed register ValueObjects to report their
expression path in a way that can actually be
resolved by "expr".
llvm-svn: 162574
Johnny Chen [Fri, 24 Aug 2012 18:15:45 +0000 (18:15 +0000)]
rdar://problem/
11811338
Add 'attach <pid>|<process-name>' command to lldb, as well as 'detach' which is an alias of 'process detach'.
Add two completion test cases for "attach" and "detach".
llvm-svn: 162573
Manman Ren [Fri, 24 Aug 2012 18:14:27 +0000 (18:14 +0000)]
BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle
the case of multiple edges from one block to another.
A simple example is a switch statement with multiple values to the same
destination. The definition of an edge is modified from a pair of blocks to
a pair of PredBlock and an index into the successors.
Also set the weight correctly when building SelectionDAG from LLVM IR,
especially when converting a Switch.
IntegersSubsetMapping is updated to calculate the weight for each cluster.
llvm-svn: 162572
Howard Hinnant [Fri, 24 Aug 2012 18:06:47 +0000 (18:06 +0000)]
Fixed order of calling use_facet vs setbuf in basic_filebuf default constructor.
llvm-svn: 162571
Dmitri Gribenko [Fri, 24 Aug 2012 17:45:39 +0000 (17:45 +0000)]
Comment diagnostics: for unresolved parameters, do not suggest parameter fixit
with parameter that is documented.
Fixes PR13670, <rdar://problem/
12155840>.
llvm-svn: 162570
Jakob Stoklund Olesen [Fri, 24 Aug 2012 17:08:41 +0000 (17:08 +0000)]
Verify explicit instruction properties when they can be inferred.
It is now allowed to explicitly set hasSideEffects, mayStore, and
mayLoad on instructions with patterns.
Verify that the patterns are consistent with the explicit flags.
llvm-svn: 162569
Chad Rosier [Fri, 24 Aug 2012 17:05:45 +0000 (17:05 +0000)]
[ms-inline asm] Refactor code. No functional change intended.
llvm-svn: 162568
Howard Hinnant [Fri, 24 Aug 2012 16:52:47 +0000 (16:52 +0000)]
basic_filebuf needs to delay obtaining a codecvt facet from the global locale to give the client a chance to imbue the proper locale. Fixes llvm.org/bugs/show_bug.cgi?id=13663.
llvm-svn: 162567
Kostya Serebryany [Fri, 24 Aug 2012 16:44:47 +0000 (16:44 +0000)]
[asan/tsan] rename FunctionBlackList* to BlackList* as this class is not limited to functions any more
llvm-svn: 162566
Kostya Serebryany [Fri, 24 Aug 2012 16:40:11 +0000 (16:40 +0000)]
[asan/tsan] extend the functionality of FunctionBlackList to globals and modules. Patch by Reid Watson.
llvm-svn: 162565
Chad Rosier [Fri, 24 Aug 2012 16:38:58 +0000 (16:38 +0000)]
[ms-inline asm] Generate the Input/Output expressions using
Sema::ActOnIdExpression().
llvm-svn: 162564
Jordan Rose [Fri, 24 Aug 2012 16:34:31 +0000 (16:34 +0000)]
[analyzer] If we dereference a NULL that came from a function, show the return.
More generally, any time we try to track where a null value came from, we
should show if it came from a function. This usually isn't necessary if
the value is symbolic, but if the value is just a constant we previously
just ignored its origin entirely. Now, we'll step into the function and
recursively add a visitor to the returned expression.
<rdar://problem/
12114609>
llvm-svn: 162563
Roman Divacky [Fri, 24 Aug 2012 16:26:02 +0000 (16:26 +0000)]
Lower constant pools and jump tables via TOC on PPC64/SVR4.
In collaboration with Adhemerval Zanella.
llvm-svn: 162562
Dmitry Vyukov [Fri, 24 Aug 2012 15:53:14 +0000 (15:53 +0000)]
tsan: improve memory allocator a bit
llvm-svn: 162561
Chad Rosier [Fri, 24 Aug 2012 15:51:10 +0000 (15:51 +0000)]
Fix 80-column violation.
llvm-svn: 162560
Benjamin Kramer [Fri, 24 Aug 2012 15:06:28 +0000 (15:06 +0000)]
GVN: Fix quadratic runtime on the number of switch cases.
No intended behavior change. This was introduced in r162023. With the fixed
algorithm a Release build of ARMInstPrinter.cpp goes from 16s to 10s on a
2011 MBP.
llvm-svn: 162559
Jakob Stoklund Olesen [Fri, 24 Aug 2012 14:43:30 +0000 (14:43 +0000)]
Fix load/store SDNode flags.
llvm-svn: 162558
Jakob Stoklund Olesen [Fri, 24 Aug 2012 14:43:27 +0000 (14:43 +0000)]
Add missing SDNPSideEffect flags.
llvm-svn: 162557
Jakob Stoklund Olesen [Fri, 24 Aug 2012 14:43:22 +0000 (14:43 +0000)]
Remove more mayLoad workarounds.
llvm-svn: 162556
Tobias Grosser [Fri, 24 Aug 2012 13:56:56 +0000 (13:56 +0000)]
PoCC: Simplify condition
llvm-svn: 162555
Tobias Grosser [Fri, 24 Aug 2012 13:54:40 +0000 (13:54 +0000)]
Sort includes
llvm-svn: 162554
Tobias Grosser [Fri, 24 Aug 2012 13:54:36 +0000 (13:54 +0000)]
PoCC: Adapt to earlier vectorizer changes
llvm-svn: 162553
Benjamin Kramer [Fri, 24 Aug 2012 11:54:20 +0000 (11:54 +0000)]
Push ArrayRef through the Expr hierarchy.
No functionality change.
llvm-svn: 162552
NAKAMURA Takumi [Fri, 24 Aug 2012 10:39:28 +0000 (10:39 +0000)]
Fix the definition of JSONAnchorSource. MSVC mangles variable symbols, and "volatile" affects.
llvm-svn: 162550
Chandler Carruth [Fri, 24 Aug 2012 09:53:43 +0000 (09:53 +0000)]
Try to appease MSVC even more elaborately in the alignment hacking space.
MSVC doesn't support passing by-value parameters with alignment of
16-bytes or higher apparantly. What is deeply confusing is that it seems
to *sometimes* (but not always) apply this to any type whose alignment
is set using __declspec(align(...)). This caused lots of errors when we switch
SmallVector over to use the automatically aligned character array
utilities as they used __declspec(align(...)) heavily.
As a pretty horrible but effective work-around, we instead cherry pick
the smallest alignment sizes with specific types that happen to have the
correct alignment, and then fall back to the attribute solution past
them. This should resolve the MSVC build errors folks have been hitting.
Sorry for that. In good news, it will do this without introducing other
UB I hope. =]
Thanks to Timur Iskhodzhanov for helping me test this!
llvm-svn: 162549
Alexander Potapenko [Fri, 24 Aug 2012 09:31:53 +0000 (09:31 +0000)]
Revert the erroneous changes made to Makefile.old in r162547
Remove a spare newline from asan_rtl.cc
llvm-svn: 162548
Alexander Potapenko [Fri, 24 Aug 2012 09:22:05 +0000 (09:22 +0000)]
If the program is linked to a dynamic ASan runtime which is not present in DYLD_INSERT_LIBRARIES
(which, in turn, is required for our interceptors to take effect), re-exec the program with
DYLD_INSERT_LIBRARIES set.
llvm-svn: 162547
Alexander Potapenko [Fri, 24 Aug 2012 07:49:22 +0000 (07:49 +0000)]
Add add_clang_runtime_shared_library() CMake function and use it to put the shared ASan runtime in the appropriate place.
llvm-svn: 162546
Ted Kremenek [Fri, 24 Aug 2012 07:42:09 +0000 (07:42 +0000)]
Teach CFG that 'if (x & 0)' and 'if (x * 0)' is an unfeasible branch.
Fixes <rdar://problem/
11005770>.
llvm-svn: 162545
James Dennett [Fri, 24 Aug 2012 06:59:51 +0000 (06:59 +0000)]
Allow RecursiveASTVisitor to visit CXXCtorInitializer objects for which
isWritten() returns false, if shouldVisitImplicitCode() returns true.
Previously those CXXCtorInitializers were always skipped.
In order to make this change easier to test, this patch also extends the
test class template ExpectedLocationVisitor to support arbitrary numbers
of expected matches and disallowed matches.
llvm-svn: 162544
Ted Kremenek [Fri, 24 Aug 2012 06:49:34 +0000 (06:49 +0000)]
Go ahead and show experimental checkers in the scan-build "-h" output.
They are labeled as not being enabled-by-default, and how else
are users going to test them.
Fixes <rdar://problem/
11654923>
llvm-svn: 162543
Greg Clayton [Fri, 24 Aug 2012 06:43:15 +0000 (06:43 +0000)]
Remove printf that go left in the code.
llvm-svn: 162542
Daniel Jasper [Fri, 24 Aug 2012 05:50:27 +0000 (05:50 +0000)]
Use LLVM's plugin registry to enable registering new compilation
databases. Move JSONCompilationDatabase.h to its own files and
register it as plugin.
llvm-svn: 162541
Greg Clayton [Fri, 24 Aug 2012 05:45:15 +0000 (05:45 +0000)]
The OS plug-in can now get data from a python script that implements the protocol.
llvm-svn: 162540
Daniel Jasper [Fri, 24 Aug 2012 05:39:51 +0000 (05:39 +0000)]
Change AST matcher names to conform with the new naming.
llvm-svn: 162539
Daniel Jasper [Fri, 24 Aug 2012 05:12:34 +0000 (05:12 +0000)]
Rename the ASTMatchers to better match AST nodes. Now, all
ASTMatchers have the same name as the corresponding AST nodes
but are lower case. The only exceptions are the "CXX" prefixes
which are not copied over to the matcher names as the goal is to
actually remove these prefixes from the AST node names.
llvm-svn: 162536
Ted Kremenek [Fri, 24 Aug 2012 04:53:06 +0000 (04:53 +0000)]
On OS X, use xcrun (if present) to find the clang to use for static analysis if
no clang can be found relative to the location of scan-build.
Fixes <rdar://problem/
11691794>
llvm-svn: 162535
Craig Topper [Fri, 24 Aug 2012 04:03:22 +0000 (04:03 +0000)]
Custom lower FMA intrinsics to target specific nodes and remove the patterns.
llvm-svn: 162534
Anna Zaks [Fri, 24 Aug 2012 02:28:20 +0000 (02:28 +0000)]
[analyzer] Fix realloc related bug in the malloc checker.
When reallocation of a non-allocated (not owned) symbol fails do not
expect it to be freed.
llvm-svn: 162533
Greg Clayton [Fri, 24 Aug 2012 02:01:39 +0000 (02:01 +0000)]
We have a partially working OS plug-in through python!
llvm-svn: 162532
Enrico Granata [Fri, 24 Aug 2012 01:53:47 +0000 (01:53 +0000)]
Fixing an issue in the OS sample
llvm-svn: 162531
Greg Clayton [Fri, 24 Aug 2012 01:42:50 +0000 (01:42 +0000)]
Added Args::StringForEncoding(), Args::StringToGenericRegister() and centralized the parsing of the string to encoding and string to generic register.
Added code the initialize the register context in the OperatingSystemPython plug-in with the new PythonData classes, and added a test OperatingSystemPython module in lldb/examples/python/operating_system.py that we can use for testing.
llvm-svn: 162530
Anna Zaks [Fri, 24 Aug 2012 01:39:13 +0000 (01:39 +0000)]
[analyzer] Remove unnecessary code.
This code has been added a while ago and removing it does not trigger
any test failures. The false positives it was trying to suppress are
probably handled by other logic (ex: special handling of delegates).
llvm-svn: 162529
Anna Zaks [Fri, 24 Aug 2012 01:39:10 +0000 (01:39 +0000)]
[analyzer] Move DynamicTypeInfo out of the ProgramState.h
(I am not sure if we should move the setters and getters as well and
make them into static methods..)
llvm-svn: 162528
Enrico Granata [Fri, 24 Aug 2012 01:34:39 +0000 (01:34 +0000)]
Fixing a bunch of issues with the OS plugin code
llvm-svn: 162527
Eric Christopher [Fri, 24 Aug 2012 01:14:27 +0000 (01:14 +0000)]
Use DW_FORM_flag_present to save space in debug information if we're
not in darwin gdb compat mode.
Fixes rdar://
10975088
llvm-svn: 162526
Eric Christopher [Fri, 24 Aug 2012 01:14:23 +0000 (01:14 +0000)]
Add support for some missing DW_FORM_*.
TODO: Fix code duplication and coding style.
llvm-svn: 162525
Eric Christopher [Fri, 24 Aug 2012 01:14:21 +0000 (01:14 +0000)]
Formatting.
llvm-svn: 162524
Richard Smith [Fri, 24 Aug 2012 00:54:33 +0000 (00:54 +0000)]
New -fcatch-undefined-behavior features:
* when checking that a pointer or reference refers to appropriate storage for a type, also check the alignment and perform a null check
* check that references are bound to appropriate storage
* check that 'this' has appropriate storage in member accesses and member function calls
llvm-svn: 162523
Enrico Granata [Fri, 24 Aug 2012 00:51:29 +0000 (00:51 +0000)]
Hooking up two more calls for the PythonOSPlugin stuff. The part of code to fetch the data and convert it to C++ objects is still missing, but will come
llvm-svn: 162522
Alexander Kornienko [Fri, 24 Aug 2012 00:39:14 +0000 (00:39 +0000)]
Updated LibTooling.html, minor improvements in CommonOptionsParser
llvm-svn: 162521
Richard Smith [Fri, 24 Aug 2012 00:35:46 +0000 (00:35 +0000)]
Fix undefined behavior (negation of INT_MIN) in ARM backend.
llvm-svn: 162520
Enrico Granata [Fri, 24 Aug 2012 00:32:51 +0000 (00:32 +0000)]
Was forcing everyone on ToT to use the PythonOSPlugin.. my bad
llvm-svn: 162519
Richard Smith [Fri, 24 Aug 2012 00:31:45 +0000 (00:31 +0000)]
Fix floating-point divide by zero, in a case where the value was not going to be used anyway.
llvm-svn: 162518
Jakob Stoklund Olesen [Fri, 24 Aug 2012 00:31:20 +0000 (00:31 +0000)]
Remove some spurious mayLoad = 0 flags.
They were inserted to silence TableGen's warning about
redundant properties. That warning is now gone.
llvm-svn: 162517
Jakob Stoklund Olesen [Fri, 24 Aug 2012 00:31:16 +0000 (00:31 +0000)]
Heed guessInstructionProperties, and stop warning on redundant flags.
Emit TableGen errors if guessInstructionProperties is 0 and
instruction properties can't be inferred from patterns.
Allow explicit instruction properties even when they can be inferred.
This patch doesn't change the TableGen output. Redundant properties
are not yet verified because the tree has errors.
llvm-svn: 162516
Jakob Stoklund Olesen [Fri, 24 Aug 2012 00:31:13 +0000 (00:31 +0000)]
Add missing SDNP properties on the flushw node.
llvm-svn: 162515
Jakob Stoklund Olesen [Fri, 24 Aug 2012 00:31:10 +0000 (00:31 +0000)]
X86MemBarrier has unmodeled side effects.
llvm-svn: 162514
Enrico Granata [Fri, 24 Aug 2012 00:30:47 +0000 (00:30 +0000)]
Adding bindings to the Script Interpreter for some basic Python OS plugin functionality (still WIP)
llvm-svn: 162513