Rafael Espindola [Fri, 10 Aug 2012 01:57:52 +0000 (01:57 +0000)]
Remove references to compression in llvm-ar. It has been a long time since we
switched from a bytecode+bzip2 to the current bitcode.
llvm-svn: 161651
Jordan Rose [Fri, 10 Aug 2012 01:06:16 +0000 (01:06 +0000)]
Update VerifyDiagnosticConsumer to only get directives during parsing.
The old behavior was to re-scan any files (like modules) where we may have
directives but won't actually be parsing during the -verify invocation.
Now, we keep the old behavior in Debug builds as a sanity check (though
modules are a known entity), and expect all legitimate directives to come
from comments seen by the preprocessor.
This also affects the ARC migration tool, which captures diagnostics in
order to filter some out. This change adds an explicit cleanup to
CaptureDiagnosticsConsumer in order to let its sub-consumer handle the
real end of diagnostics.
This was originally split into four patches, but the tests do not run
cleanly without all four, so I've combined them into one commit.
Patches by Andy Gibbs, with slight modifications from me.
llvm-svn: 161650
Jordan Rose [Fri, 10 Aug 2012 01:06:08 +0000 (01:06 +0000)]
Make sure to call EndSourceFile even if we can't continue compiling.
Patch by Andy Gibbs!
llvm-svn: 161649
David Blaikie [Fri, 10 Aug 2012 00:55:35 +0000 (00:55 +0000)]
Provide isConst/Volatile on CXXMethodDecl.
This also provides isConst/Volatile/Restrict on FunctionTypes to coalesce
the implementation with other callers (& update those other callers).
Patch contributed by Sam Panzer (panzer@google.com).
llvm-svn: 161647
Bob Wilson [Fri, 10 Aug 2012 00:25:30 +0000 (00:25 +0000)]
Use the final .version number for LLVM_MINOR_VERSION in Apple llvmCore builds.
We've switched to a 3-component version numbering scheme for Apple releases,
and with this scheme, the final number is the one most relevant for setting
LLVM_MINOR_VERSION. <rdar://problem/
12071459>
llvm-svn: 161645
Jakob Stoklund Olesen [Fri, 10 Aug 2012 00:21:30 +0000 (00:21 +0000)]
Reapply r161633-161634 "Partition use lists so defs always come before uses.""
No changes to these patches, MRI needed to be notified when changing
uses into defs and vice versa.
llvm-svn: 161644
Jakob Stoklund Olesen [Fri, 10 Aug 2012 00:21:26 +0000 (00:21 +0000)]
Also update MRI use lists when changing a use to a def and vice versa.
This was the cause of the buildbot failures.
llvm-svn: 161643
Chad Rosier [Fri, 10 Aug 2012 00:00:34 +0000 (00:00 +0000)]
[ms-inline asm] Use the new Inline Asm Non-Standard Dialect attribute.
llvm-svn: 161642
Chad Rosier [Fri, 10 Aug 2012 00:00:22 +0000 (00:00 +0000)]
[ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute.
This new attribute is intended to be used by the backend to determine how
the inline asm string should be parsed/printed. This patch adds the
ia_nsdialect attribute and also adds a test case to ensure the IR is
correctly parsed, but there is no functional change at this time.
The standard dialect is assumed to be AT&T. Therefore, this attribute
should only be added to MS-style inline assembly statements, which use
the Intel dialect. If we ever support more dialects we'll need to
add additional state to the attribute.
llvm-svn: 161641
Jakob Stoklund Olesen [Thu, 9 Aug 2012 23:31:36 +0000 (23:31 +0000)]
Revert r161633-161634 "Partition use lists so defs always come before uses."
These commits broke a number of buildbots.
llvm-svn: 161640
Johnny Chen [Thu, 9 Aug 2012 23:10:57 +0000 (23:10 +0000)]
rdar://problem/
11457143
Forgot to check in this file. Oops!
llvm-svn: 161639
Johnny Chen [Thu, 9 Aug 2012 23:09:42 +0000 (23:09 +0000)]
rdar://problem/
11457143 [ER] need "watchpoint command ..."
Add 'watchpoint command add/delete/list' to lldb, plus two .py test files.
llvm-svn: 161638
Jordan Rose [Thu, 9 Aug 2012 22:55:54 +0000 (22:55 +0000)]
[analyzer] Merge RegionStore's KillStruct and CopyLazyBindings: BindAggregate.
Both methods need to clear out existing bindings and provide a new default
binding. Originally KillStruct always provided UnknownVal as the default,
but it's allowed symbolic values for quite some time (for handling returned
structs in C).
No functionality change.
llvm-svn: 161637
Jordan Rose [Thu, 9 Aug 2012 22:55:51 +0000 (22:55 +0000)]
[analyzer] Cluster bindings in RegionStore by base region.
This should speed up activities that need to access bindings by cluster,
such as invalidation and dead-bindings cleaning. In some cases all we save
is the cost of building the region cluster map, but other times we can
actually avoid traversing the rest of the store.
In casual testing, this produced a speedup of nearly 10% analyzing SQLite,
with /less/ memory used.
llvm-svn: 161636
Jordan Rose [Thu, 9 Aug 2012 22:55:37 +0000 (22:55 +0000)]
[analyzer] Cache the "concrete offset base" for regions with symbolic offsets.
This makes it faster to access and invalidate bindings with symbolic offsets
by only computing this information once.
No intended functionality change.
llvm-svn: 161635
Jakob Stoklund Olesen [Thu, 9 Aug 2012 22:49:46 +0000 (22:49 +0000)]
Partition use lists so defs always come before uses.
This makes it possible to speed up def_iterator by stopping at the first
use. This makes def_empty() and getUniqueVRegDef() much faster when
there are many uses.
In a +Asserts build, LiveVariables is 100x faster in one case because
getVRegDef() has an assertion that would scan to the end of a
def_iterator chain.
Spill weight calculation is significantly faster (300x in one case)
because isTriviallyReMaterializable() calls MRI->isConstantPhysReg(%RIP)
which calls def_empty(%RIP).
llvm-svn: 161634
Jakob Stoklund Olesen [Thu, 9 Aug 2012 22:49:42 +0000 (22:49 +0000)]
Don't use pointer-pointers for the register use lists.
Use a more conventional doubly linked list where the Prev pointers form
a cycle. This means it is no longer necessary to adjust the Prev
pointers when reallocating the VRegInfo array.
The test changes are required because the register allocation hint is
using the use-list order to break ties.
llvm-svn: 161633
Jakob Stoklund Olesen [Thu, 9 Aug 2012 22:49:37 +0000 (22:49 +0000)]
Move use list management into MachineRegisterInfo.
Register MachineOperands are kept in linked lists accessible via MRI's
reg_iterator interfaces. The linked list management was handled partly
by MachineOperand methods, partly by MRI methods.
Move all of the list management into MRI, delete
MO::AddRegOperandToRegInfo() and MO::RemoveRegOperandFromRegInfo().
Be more explicit about handling the cases where an MRI pointer isn't
available.
llvm-svn: 161632
Jordan Rose [Thu, 9 Aug 2012 22:48:16 +0000 (22:48 +0000)]
[analyzer] Devirtualize StoreManager::evalDerivedToBase(SVal, CastExpr)
This was triggering -Woverloaded-virtual, but there's really no reason for
the cast version to be virtual anyway. It just calls through to the QualType
entry point.
llvm-svn: 161631
Eli Friedman [Thu, 9 Aug 2012 22:42:04 +0000 (22:42 +0000)]
Followup to r161546, to unbreak linking on Bitrig. Patch by David Hill.
llvm-svn: 161630
Benjamin Kramer [Thu, 9 Aug 2012 22:33:50 +0000 (22:33 +0000)]
CMake: Add the new dependency from libSema to LLVM's libs.
Should fix the failures seen on some linux builders.
llvm-svn: 161629
Eric Christopher [Thu, 9 Aug 2012 22:10:21 +0000 (22:10 +0000)]
Remove getARMRegisterNumbering and replace with calls into
the register info for getEncodingValue. This builds on the
small patch of yesterday to set HWEncoding in the register
file.
One (deprecated) use was turned into a hard number to avoid
needing register info in the old JIT.
llvm-svn: 161628
Jakob Stoklund Olesen [Thu, 9 Aug 2012 22:08:26 +0000 (22:08 +0000)]
Fix a future TwoAddressInstructionPass crash.
No test case, the crash only happens when the default use list order is
changed.
llvm-svn: 161627
Jakob Stoklund Olesen [Thu, 9 Aug 2012 22:08:24 +0000 (22:08 +0000)]
Don't modify MO while use_iterator is still pointing to it.
llvm-svn: 161626
Johnny Chen [Thu, 9 Aug 2012 22:06:10 +0000 (22:06 +0000)]
Added back member initialization for m_batch_command_mode, which was most likely removed accidentally a while back.
The consequence occurred recently probably due to our swicth to build with c++11.
This fixed 3 test failures.
llvm-svn: 161625
Chad Rosier [Thu, 9 Aug 2012 22:04:55 +0000 (22:04 +0000)]
[ms-inline asm] Extend the MC AsmParser API to match MCInsts (but not emit).
This new API will be used by clang to parse ms-style inline asms.
One goal of this project is to use this style of inline asm for targets other
then x86. Therefore, this API needs to be implemented for non-x86 targets at
some point in the future.
llvm-svn: 161624
Enrico Granata [Thu, 9 Aug 2012 22:02:51 +0000 (22:02 +0000)]
<rdar://problem/
11578397> Adding a new --summary-string option for the frame variable command which allows the user to provide a summary string with which he wants to display the variables without having to make a named summary first
llvm-svn: 161623
Chad Rosier [Thu, 9 Aug 2012 21:28:05 +0000 (21:28 +0000)]
[ms-inline asm] Fix comment.
llvm-svn: 161622
Jordan Rose [Thu, 9 Aug 2012 21:24:02 +0000 (21:24 +0000)]
[analyzer] A CXXBaseObjectRegion should correspond to a DIRECT base.
An ASTContext's RecordLayoutInfo can only be used to look up offsets of
direct base classes, and we need the offset to make non-symbolic bindings
in RegionStore. This change makes sure that we have one layer of
CXXBaseObjectRegion for each base we are casting through.
This was causing crashes on an internal buildbot.
llvm-svn: 161621
Fariborz Jahanian [Thu, 9 Aug 2012 21:12:39 +0000 (21:12 +0000)]
objective-C: refactoring of objc's delayed parsing.
llvm-svn: 161620
Chad Rosier [Thu, 9 Aug 2012 21:06:32 +0000 (21:06 +0000)]
[ms-inline asm] Use StringRef here, per Jordan's suggestion.
llvm-svn: 161619
Chandler Carruth [Thu, 9 Aug 2012 21:02:52 +0000 (21:02 +0000)]
Temporarily revert r161612 while we figure out just what the semantics
of PARALLEL_DIRS are. They apparantly aren't what either Nick, Eric, or
I thought. ;] Should let the bots make forward progress.
llvm-svn: 161618
Anna Zaks [Thu, 9 Aug 2012 21:02:45 +0000 (21:02 +0000)]
[analyzer] Rename the function to better reflect what it actually does.
llvm-svn: 161617
Anna Zaks [Thu, 9 Aug 2012 21:02:41 +0000 (21:02 +0000)]
[analyzer] Clarify the values in Dyn. Dispatch Bifurcation map.
llvm-svn: 161616
Chad Rosier [Thu, 9 Aug 2012 20:52:43 +0000 (20:52 +0000)]
[ms-inline asm] Simplify logic for empty asm statements.
llvm-svn: 161615
Chad Rosier [Thu, 9 Aug 2012 20:47:38 +0000 (20:47 +0000)]
[ms-inline asm] Instantiate the various parts to the AsmParser.
llvm-svn: 161614
Chandler Carruth [Thu, 9 Aug 2012 20:47:32 +0000 (20:47 +0000)]
Use parallel dirs here, there shouldn't be cross-tool dependencies
anyways. Also place it after the config makefile inclusion which seems
the more canonical location.
llvm-svn: 161613
Chandler Carruth [Thu, 9 Aug 2012 20:40:24 +0000 (20:40 +0000)]
Make all of the tools build in parallel. Missing this caused incremental
rebuilds to serially link each tool, which is really really slow.
We still have to build libclang serially first because c-index-test
depends on it.
llvm-svn: 161612
Jim Ingham [Thu, 9 Aug 2012 20:29:34 +0000 (20:29 +0000)]
Turn on function args by default in thread & frame formats.
<rdar://problem/
11703715>
llvm-svn: 161611
Chandler Carruth [Thu, 9 Aug 2012 20:26:41 +0000 (20:26 +0000)]
Teach the LLVM test makefile to run the extra Clang tools' test suites
as part of check-all.
llvm-svn: 161610
Chandler Carruth [Thu, 9 Aug 2012 20:21:38 +0000 (20:21 +0000)]
Recurse into the extra tools repo the correct way from the Makefile
build system. Thanks to Nick for pointing at the actual construct which
should be used here.
llvm-svn: 161609
Jack Carter [Thu, 9 Aug 2012 19:43:18 +0000 (19:43 +0000)]
Another 32 to 64 bit sign extension bug.
The fields in the td definition were switched.
llvm-svn: 161607
Enrico Granata [Thu, 9 Aug 2012 19:33:34 +0000 (19:33 +0000)]
<rdar://problem/
10449092> Adding a new uppercase hex format specifier. This commit also changes the short names for formats so that uppercase hex can be 'X', which was previously assigned to hex float. hex float now has no short name.
llvm-svn: 161606
Richard Smith [Thu, 9 Aug 2012 19:01:51 +0000 (19:01 +0000)]
In 'delete []', the '[]' never starts a lambda. Update a FIXME with a standard reference and add a test.
llvm-svn: 161604
Anna Zaks [Thu, 9 Aug 2012 18:43:00 +0000 (18:43 +0000)]
[analyzer] Improve readability of the dyn. dispatch bifurcation patch
r161552.
As per Jordan's feedback.
llvm-svn: 161603
Dmitri Gribenko [Thu, 9 Aug 2012 18:35:49 +0000 (18:35 +0000)]
Remove absolute file path in test.
llvm-svn: 161602
Dmitri Gribenko [Thu, 9 Aug 2012 18:20:29 +0000 (18:20 +0000)]
Comment to HTML and XML conversion: ignore commands that contain a declaration
as their argument. For example, \fn, \function, \typedef, \method, \class etc.
llvm-svn: 161601
Sean Callanan [Thu, 9 Aug 2012 18:18:47 +0000 (18:18 +0000)]
LLDB no longer prints <no result> by default if
the expression returns nothing. There is now a
setting, "notify-void." When the user enables
that setting, lldb prints (void) if an expression's
result is void. Otherwise, lldb is silent.
<rdar://problem/
11225150>
llvm-svn: 161600
Simon Atanasyan [Thu, 9 Aug 2012 17:49:22 +0000 (17:49 +0000)]
Fix the test case. Now it does not depend on the method used to pass vector arguments to the function.
Reviewed by Anton Lokhmotov.
llvm-svn: 161597
Dmitri Gribenko [Thu, 9 Aug 2012 17:33:20 +0000 (17:33 +0000)]
Comment to HTML and XML conversion: use CommandTraits to classify commands.
This also fixes a bug in comment to XML conversion: \result was just an
ordinary paragraph, not an alias for \returns.
llvm-svn: 161596
Chad Rosier [Thu, 9 Aug 2012 17:33:11 +0000 (17:33 +0000)]
[ms-inline asm] Initialize targets and assembly printers/parsers.
llvm-svn: 161595
Chad Rosier [Thu, 9 Aug 2012 17:17:01 +0000 (17:17 +0000)]
[ms-inline asm] Add various MC components to clang build to support MS-style inline assembly.
llvm-svn: 161594
Fariborz Jahanian [Thu, 9 Aug 2012 17:15:00 +0000 (17:15 +0000)]
objective-C: minor refactoring in method
definition parsing logic.
llvm-svn: 161593
Enrico Granata [Thu, 9 Aug 2012 16:51:25 +0000 (16:51 +0000)]
<rdar://problem/
11505459> Stripping off the object's type from the output of the 'po' command
llvm-svn: 161592
Alexander Potapenko [Thu, 9 Aug 2012 16:05:17 +0000 (16:05 +0000)]
Add a test checking that all the "__asan_" interface functions are present in a binary built with -dead_strip.
Fix force_interface_symbols() so that none of the interface symbols is stripped.
llvm-svn: 161582
Arnold Schwaighofer [Thu, 9 Aug 2012 15:25:52 +0000 (15:25 +0000)]
Patch to implement UMLAL/SMLAL instructions for the ARM architecture
This patch corrects the definition of umlal/smlal instructions and adds support
for matching them to the ARM dag combiner.
Bug 12213
Patch by Yin Ma!
llvm-svn: 161581
Alexander Potapenko [Thu, 9 Aug 2012 13:33:02 +0000 (13:33 +0000)]
Make the non-interface mach_override functions static to avoid name clashes with user code that may contain its own mach_override.
llvm-svn: 161577
Alexey Samsonov [Thu, 9 Aug 2012 12:15:40 +0000 (12:15 +0000)]
[ASan] Move mac-specific error reports to asan_report.cc as well
llvm-svn: 161576
Alexey Samsonov [Thu, 9 Aug 2012 11:29:13 +0000 (11:29 +0000)]
[ASan] Small fix to please tests on Windows, where stack unwinding using provided pc/bp works too bad
llvm-svn: 161575
Alexey Samsonov [Thu, 9 Aug 2012 10:56:57 +0000 (10:56 +0000)]
[ASan] Move __asan_report_error implementation to asan_report.cc
llvm-svn: 161574
Alexander Potapenko [Thu, 9 Aug 2012 09:46:12 +0000 (09:46 +0000)]
Use a switch instead of a simple condition in force_interface_symbols().
Otherwise Clang eliminates everything after the first interface symbol that is marked noreturn.
llvm-svn: 161573
Alexey Samsonov [Thu, 9 Aug 2012 09:27:24 +0000 (09:27 +0000)]
[ASan] move code that describes globals to asan_report.cc
llvm-svn: 161572
Alexey Samsonov [Thu, 9 Aug 2012 09:06:52 +0000 (09:06 +0000)]
[ASan] move some functions that describe addresses to asan_report.cc
llvm-svn: 161571
Alexey Samsonov [Thu, 9 Aug 2012 08:32:33 +0000 (08:32 +0000)]
[ASan] Move error reporting code away from file with interceptors
llvm-svn: 161570
Alexey Samsonov [Thu, 9 Aug 2012 08:15:46 +0000 (08:15 +0000)]
[ASan] Move error reports away from ASan allocator. Add new source file to CMakeLists as well
llvm-svn: 161569
Alexey Samsonov [Thu, 9 Aug 2012 07:40:58 +0000 (07:40 +0000)]
[ASan] Create new files asan_report.{h,cc} as a preparation for refactoring of ASan error reporting code.
Currently ASan reports many kinds of errors, and the code that actually prints error messages can
be found inside allocator, OS-specific files, interceptors code etc.
An example of maintenance troubles this situation causes:
There is currently an ASan interface function that registers
callback which should take the char buffer with error report printed by ASan.
This function is now broken, as one has to insert callback calls to all the places in
ASan code where the error reports are printed, surprisingly it is not only
"__asan_report_error" function...
llvm-svn: 161568
Anna Zaks [Thu, 9 Aug 2012 02:57:02 +0000 (02:57 +0000)]
Unbreak the build.
Declaring "const Decl *Decl" is not a good idea.
llvm-svn: 161567
Nadav Rotem [Thu, 9 Aug 2012 01:56:44 +0000 (01:56 +0000)]
Fix the legalization of ExtLoad on ARM. ExpandUnalignedLoad did not properly
handle the cases where the memory value type was illegal.
PR 13111.
llvm-svn: 161565
Eric Christopher [Thu, 9 Aug 2012 01:39:32 +0000 (01:39 +0000)]
This field isn't used anymore, use it with HWEncoding instead.
llvm-svn: 161564
Sean Callanan [Thu, 9 Aug 2012 01:33:24 +0000 (01:33 +0000)]
llvm.zip rebuilt with libc++ for Mac OS X.
<rdar://problem/
11930775>
llvm-svn: 161563
Sean Callanan [Thu, 9 Aug 2012 01:32:13 +0000 (01:32 +0000)]
On Mac OS X, lldb will now build c++11 and use
libc++. We also no longer use the GNU extensions
to C++ and C (we didn't use them anyway).
This also means that the LLVM we use must be
built with the new libc++.
I will commit llvm.zip next.
<rdar://problem/
11930775>
llvm-svn: 161562
Victor Oliveira [Thu, 9 Aug 2012 01:13:59 +0000 (01:13 +0000)]
Support for experimental targets
Added LLVM_EXPERIMENTAL_TARGETS_TO_BUILD in CMake and --enable-experimental-targets in configure.
llvm-svn: 161561
Sean Callanan [Thu, 9 Aug 2012 00:53:54 +0000 (00:53 +0000)]
Made lldb.swig include <string>, which it requires.
llvm-svn: 161560
Sean Callanan [Thu, 9 Aug 2012 00:50:26 +0000 (00:50 +0000)]
Removed explicit NULL checks for shared pointers
and instead made us use implicit casts to bool.
This generated a warning in C++11.
<rdar://problem/
11930775>
llvm-svn: 161559
Sean Callanan [Thu, 9 Aug 2012 00:46:55 +0000 (00:46 +0000)]
When compiling with C++11, switch from
hash_multimap to unordered_multimap.
<rdar://problem/
11930775>
llvm-svn: 161558
Anna Zaks [Thu, 9 Aug 2012 00:42:24 +0000 (00:42 +0000)]
[analyzer] Cleanup of malloc checker.
Remove Escaped state, which is not really necessary. We can just stop
tracking the symbol instead of keeping it around and marking escaped.
llvm-svn: 161557
Sean Callanan [Thu, 9 Aug 2012 00:40:16 +0000 (00:40 +0000)]
Now that the testcase is fixed, it is no longer
an expected failure.
llvm-svn: 161556
Enrico Granata [Thu, 9 Aug 2012 00:35:41 +0000 (00:35 +0000)]
<rdar://problem/
12061386> Fixing data-formatter-cpp test case - previous version had an unfortunate dependency on the value of uninitialized memory
llvm-svn: 161555
Eli Friedman [Thu, 9 Aug 2012 00:31:40 +0000 (00:31 +0000)]
Fix AAPCS ABI. I can't actually test this, but it restores the behavior from before r159168. PR13562.
llvm-svn: 161554
Matt Beaumont-Gay [Thu, 9 Aug 2012 00:30:39 +0000 (00:30 +0000)]
MachineRegisterInfo was already a friend of MachineOperand, and GCC complains
about repeated friending.
llvm-svn: 161553
Anna Zaks [Thu, 9 Aug 2012 00:21:33 +0000 (00:21 +0000)]
[analyzer] Bifurcate the path with dynamic dispatch.
This is an initial (unoptimized) version. We split the path when
inlining ObjC instance methods. On one branch we always assume that the
type information for the given memory region is precise. On the other we
assume that we don't have the exact type info. It is important to check
since the class could be subclassed and the method can be overridden. If
we always inline we can loose coverage.
Had to refactor some of the call eval functions.
llvm-svn: 161552
Dmitri Gribenko [Thu, 9 Aug 2012 00:16:26 +0000 (00:16 +0000)]
Add new file CommentCommandTraits.cpp to CMakeLists.txt.
llvm-svn: 161551
Chandler Carruth [Thu, 9 Aug 2012 00:12:21 +0000 (00:12 +0000)]
Fix the order of the link arguments for this tool. I think there is
something fishy with the rest of the order too, but this at least lets
it build for me.
llvm-svn: 161550
Chandler Carruth [Thu, 9 Aug 2012 00:05:27 +0000 (00:05 +0000)]
Allow the Makefile build system to find the extra repo if it is checked
out.
Unfortunately, the existing makefiles for the extra repo don't specify
the correct library dependencies. Fixing that next. If you're following
along, you'll get linker errors.
llvm-svn: 161549
Dmitri Gribenko [Thu, 9 Aug 2012 00:03:17 +0000 (00:03 +0000)]
Comment parsing: extract TableGen'able pieces into new CommandTraits class.
llvm-svn: 161548
Sean Callanan [Thu, 9 Aug 2012 00:01:48 +0000 (00:01 +0000)]
The C++ data formatter tests are flaky. Marking
them as expected failures until they are fixed.
llvm-svn: 161547
Eli Friedman [Wed, 8 Aug 2012 23:57:20 +0000 (23:57 +0000)]
clang support for Bitrig (an OpenBSD fork); patch by David Hill.
llvm-svn: 161546
Jim Grosbach [Wed, 8 Aug 2012 23:56:06 +0000 (23:56 +0000)]
Move [SU]LEB128 encoding to a utility header.
These functions are very generic. There's no reason for them to
be tied to MCObjectWriter.
llvm-svn: 161545
Eli Friedman [Wed, 8 Aug 2012 23:53:27 +0000 (23:53 +0000)]
Minor simplification for r161534.
llvm-svn: 161544
Jakob Stoklund Olesen [Wed, 8 Aug 2012 23:44:07 +0000 (23:44 +0000)]
Move getNextOperandForReg() into MachineRegisterInfo.
MRI provides iterators for traversing the use-def chains. They should
not be accessible from anywhere else.
llvm-svn: 161543
Jakob Stoklund Olesen [Wed, 8 Aug 2012 23:44:04 +0000 (23:44 +0000)]
Don't use getNextOperandForReg().
This way of using getNextOperandForReg() was unlikely to work as
intended. We don't give any guarantees about the order of operands in
the use-def chains, so looking only at operands following a given
operand in the chain doesn't make sense.
llvm-svn: 161542
Jakob Stoklund Olesen [Wed, 8 Aug 2012 23:44:01 +0000 (23:44 +0000)]
Don't use getNextOperandForReg() in RAFast.
That particular optimization was probably premature anyway.
llvm-svn: 161541
Fariborz Jahanian [Wed, 8 Aug 2012 23:41:08 +0000 (23:41 +0000)]
objective-C: refactor/simplify parsing of delayed
method/c-funcs defined in objc class implementation.
No intended functionality change.
llvm-svn: 161540
Eli Friedman [Wed, 8 Aug 2012 23:35:12 +0000 (23:35 +0000)]
Fix r161534 so it actually builds.
llvm-svn: 161539
Chandler Carruth [Wed, 8 Aug 2012 23:34:47 +0000 (23:34 +0000)]
Fix up the makefiles in the tools repo, and add a top-level makefile
suitable for building as part of the LLVM/Clang build.
llvm-svn: 161538
Richard Smith [Wed, 8 Aug 2012 23:32:13 +0000 (23:32 +0000)]
PR13558: Fix typo 'compatiblity'. Thinking of the children. Apparently.
llvm-svn: 161537
Owen Anderson [Wed, 8 Aug 2012 23:31:14 +0000 (23:31 +0000)]
Allow legalization of target-specific SDNodes, provided that the target itself provide a legalization hook for them.
llvm-svn: 161536
Eli Friedman [Wed, 8 Aug 2012 23:04:35 +0000 (23:04 +0000)]
Handle deprecation diagnostics correctly for C struct fields and Objective-C properties/ivars. <rdar://problem/6642337>.
llvm-svn: 161534
Greg Clayton [Wed, 8 Aug 2012 22:27:52 +0000 (22:27 +0000)]
Fixed the delay that was happening when quitting lldb from the command line. We weren't initializing the command pipes when constructing a ConnectionFileDescriptor with a file descriptor.
llvm-svn: 161533
Jakob Stoklund Olesen [Wed, 8 Aug 2012 22:12:01 +0000 (22:12 +0000)]
Deal with irreducible control flow when building traces.
We filter out MachineLoop back-edges during the trace-building PO
traversals, but it is possible to have CFG cycles that aren't natural
loops, and MachineLoopInfo doesn't include such cycles.
Use a standard visited set to detect such CFG cycles, and completely
ignore them when picking traces.
llvm-svn: 161532