Rafael Espindola [Wed, 19 Jun 2013 13:25:31 +0000 (13:25 +0000)]
Remove Path::canExecute.
llvm-svn: 184298
Rafael Espindola [Wed, 19 Jun 2013 13:24:29 +0000 (13:24 +0000)]
Use llvm::sys::fs::can_execute.
llvm-svn: 184297
Evgeniy Stepanov [Wed, 19 Jun 2013 13:21:38 +0000 (13:21 +0000)]
[sanitizer] Fix struct ifconf definition on Mac and restore the size checks.
llvm-svn: 184296
Sylvestre Ledru [Wed, 19 Jun 2013 12:59:56 +0000 (12:59 +0000)]
When the compiler is not providing a clean triple, we should fail
the build right from the start.
For now, it is only done with DEBUGMAKE is provided. That makes
things harder to debug during ports of compiler-rt on other systems.
llvm-svn: 184295
Alexander Potapenko [Wed, 19 Jun 2013 11:36:51 +0000 (11:36 +0000)]
[ASan] Delete excessive 'extern "C"' around mlock* interceptors.
llvm-svn: 184294
Evgeniy Stepanov [Wed, 19 Jun 2013 10:36:31 +0000 (10:36 +0000)]
[sanitizer] Fix Android build.
llvm-svn: 184293
Vladimir Medic [Wed, 19 Jun 2013 10:14:36 +0000 (10:14 +0000)]
The RenderMethod field in RegisterOperand class sets the name of the method on the target specific operand to call to add the target specific operand to an MCInst. This patch defines RenderMethod for mips RegisterOperand classes and removes redundant code from MipsAsmParser.cpp
llvm-svn: 184292
NAKAMURA Takumi [Wed, 19 Jun 2013 09:55:05 +0000 (09:55 +0000)]
MachOUniversal.cpp: Fix abuse of Twine. It would be sufficient to use std::string instead.
llvm-svn: 184291
Evgeniy Stepanov [Wed, 19 Jun 2013 08:55:28 +0000 (08:55 +0000)]
[sanitizer] Fix build on RHEL 6.3, 6.4.
linux/if_ppp.h is broken in certain kernels.
llvm-svn: 184290
Pavel Labath [Wed, 19 Jun 2013 08:19:56 +0000 (08:19 +0000)]
Fix a crash in the static analyzer (bug #16307)
Summary:
When processing a call to a function, which got passed less arguments than it
expects, the analyzer would crash.
I've also added a test for that and a analyzer warning which detects these
cases.
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D994
llvm-svn: 184288
Michael Gottesman [Wed, 19 Jun 2013 07:34:21 +0000 (07:34 +0000)]
Fixed comment typo that causes the given comment to actually make sense.
llvm-svn: 184286
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:29 +0000 (06:58 +0000)]
Prune "\param InitialState" since it has not been introduced. [-Wdocumentation]
llvm-svn: 184285
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:20 +0000 (06:58 +0000)]
Fix a warning. [-Wunused-variable]
llvm-svn: 184284
NAKAMURA Takumi [Wed, 19 Jun 2013 06:58:14 +0000 (06:58 +0000)]
Revert r184249, "doc. parsing: Allow parameter name "..." for variadic functions/methods."
It crashes in the case;
/// Without any "param"s in the description.
int printf(const char *format, ...);
llvm-svn: 184283
Nadav Rotem [Wed, 19 Jun 2013 05:49:52 +0000 (05:49 +0000)]
SLPVectorizer: vectorize compares and selects.
llvm-svn: 184282
Nadav Rotem [Wed, 19 Jun 2013 05:47:33 +0000 (05:47 +0000)]
Document the return value and fix a typo.
llvm-svn: 184281
Jason Molenda [Wed, 19 Jun 2013 04:52:55 +0000 (04:52 +0000)]
A few small enhancements to the diagnose-unwind command.
Change the simple-minded stack walk to not depend on lldb to unwind
the first frame.
Collect a list of Modules and Addresses seen while backtracing (with
both methods), display the image list output for all of those modules,
plus disassemble and image show-unwind any additional frames that
the simple backtrace was able to unwind through instead of just the
lldb unwind algorithm frames.
Remove checks for older lldb's that didn't support -a for disassemble
or specifying the assembler syntax on x86 targets.
llvm-svn: 184280
Enrico Granata [Wed, 19 Jun 2013 03:05:52 +0000 (03:05 +0000)]
Improvements to "command script import" to better support reloading in Xcode
Xcode spawns a new LLDB SBDebugger for each debug session, and this was causing the reloading of python modules to fail across debug sessions
(long story short: the module would not be loaded in the current instance of the ScriptInterpreter, but would still be present in sys.modules, hence the import call would just make a copy of it and not run it again
Greg's new decorator uncovered the issue since it relies on actually loading the module's code rather than using __lldb_init_module as the active entity)
This patch introduces the notion of a local vs. global import and crafts an appropriate command to allow reloading to work across debug sessions
llvm-svn: 184279
Wan Xiaofei [Wed, 19 Jun 2013 02:26:00 +0000 (02:26 +0000)]
Test commit access.
llvm-svn: 184278
Eli Friedman [Wed, 19 Jun 2013 02:07:51 +0000 (02:07 +0000)]
Delete dead code.
llvm-svn: 184277
Manman Ren [Wed, 19 Jun 2013 01:46:49 +0000 (01:46 +0000)]
Debug Info: support for gdwarf-2 gdwarf-3 gdwarf-4
These options will add a module flag with name "Dwarf Version".
The behavior flag is currently set to Warning, so when two values disagree,
a warning will be emitted.
llvm-svn: 184276
Eli Friedman [Wed, 19 Jun 2013 01:38:21 +0000 (01:38 +0000)]
Add test coverage for serialization of dependent function template specializations.
llvm-svn: 184275
Greg Clayton [Wed, 19 Jun 2013 01:38:02 +0000 (01:38 +0000)]
Added a new decorator function in the "lldb" module that can register a command automatically. We have just a few kinks to work out for the Xcode workflow and we will be ready to switch over to using this. To use this, you can decorate your python function as:
@lldb.command("new_command", "Documentation string for new_command...")
def new_command(debugger, command, result, dict):
....
No more need to register your command in the __lldb_init_module function!
llvm-svn: 184274
Sean Silva [Wed, 19 Jun 2013 01:13:28 +0000 (01:13 +0000)]
Remove `using namespace` and use explicit qualification.
There were only two places it was actually making anything shorter.
llvm-svn: 184273
Sean Silva [Wed, 19 Jun 2013 01:10:58 +0000 (01:10 +0000)]
Remove spurious space.
llvm-svn: 184272
Sean Silva [Wed, 19 Jun 2013 01:10:11 +0000 (01:10 +0000)]
Remove unused parameter.
Not sure why we weren't catching this with -Wunused-parameter...
Spotted by inspection.
llvm-svn: 184271
Jim Ingham [Wed, 19 Jun 2013 00:56:17 +0000 (00:56 +0000)]
Don't actually Halt in the Interrupt handler for the Process, just send an AsyncInterrupt.
That's actually not async-signal-clean, but it is a lot safer than Halt...
llvm-svn: 184270
Sean Silva [Wed, 19 Jun 2013 00:55:32 +0000 (00:55 +0000)]
[yaml2obj][ELF] Beef up this test a bit.
llvm-svn: 184269
Sean Silva [Wed, 19 Jun 2013 00:55:28 +0000 (00:55 +0000)]
[yaml2obj][ELF] Support ELFOSABI_* enum.
llvm-svn: 184268
Sean Silva [Wed, 19 Jun 2013 00:55:23 +0000 (00:55 +0000)]
There is no ELF ABI version enum.
llvm-svn: 184267
Shankar Easwaran [Wed, 19 Jun 2013 00:31:09 +0000 (00:31 +0000)]
[ELF] add -u/--undefined option, to define undefined symbols
llvm-svn: 184266
Enrico Granata [Wed, 19 Jun 2013 00:20:57 +0000 (00:20 +0000)]
<rdar://problem/
14086503>
Hardening the libstdc++ std::map test case against line table changes
llvm-svn: 184265
Enrico Granata [Wed, 19 Jun 2013 00:14:02 +0000 (00:14 +0000)]
<rdar://problem/
14086503>
Hardening the libstdc++ std::vector test case against line table changes
llvm-svn: 184264
Sean Silva [Wed, 19 Jun 2013 00:11:59 +0000 (00:11 +0000)]
[yaml2obj][ELF] Support st_info through `Binding` and `Type` YAML keys.
llvm-svn: 184263
Enrico Granata [Wed, 19 Jun 2013 00:00:45 +0000 (00:00 +0000)]
<rdar://problem/
14194140>
Adding support for correctly extracting children out of vector types for data formatter purposes
llvm-svn: 184262
Matt Arsenault [Tue, 18 Jun 2013 23:37:58 +0000 (23:37 +0000)]
Use GetUnderlyingObject instead of custom function
llvm-svn: 184261
Sean Silva [Tue, 18 Jun 2013 23:37:23 +0000 (23:37 +0000)]
[yaml2obj][ELF] Don't monkeypatch the YAML sections.
Previously, we would monkeypatch the vector of YAML::Section's in order
to ensure that the SHT_NULL entry is present. Now we just add it
unconditionally.
The proliferation of small numerical adjustments is beginning to
frighten me, but I can't think of a way having a single point of truth
for them without introducing a whole new layer of data structures (i.e.
lots of code and complexity) between the YAML and binary ELF formats.
llvm-svn: 184260
Adrian Prantl [Tue, 18 Jun 2013 23:32:21 +0000 (23:32 +0000)]
Add some comments to r184252.
rdar://problem/
14101097
llvm-svn: 184259
Sean Silva [Tue, 18 Jun 2013 23:19:17 +0000 (23:19 +0000)]
[yaml2obj][ELF] Ensure STN_UNDEF entry is present.
llvm-svn: 184258
Anna Zaks [Tue, 18 Jun 2013 23:16:20 +0000 (23:16 +0000)]
[analyzer] Do not create a CompoundVal for lvalue InitListExprs.
These should be treated like scalars. This fixes a crash reported in radar://
14164698.
llvm-svn: 184257
Anna Zaks [Tue, 18 Jun 2013 23:16:15 +0000 (23:16 +0000)]
[analyzer] Do not report uninitialized value warnings inside swap functions.
This silences warnings that could occur when one is swapping partially initialized structs. We suppress
not only the assignments of uninitialized members, but any values inside swap because swap could
potentially be used as a subroutine to swap class members.
This silences a warning from std::try::function::swap() on partially initialized objects.
llvm-svn: 184256
Sean Silva [Tue, 18 Jun 2013 23:14:03 +0000 (23:14 +0000)]
[yaml2obj][ELF] Rudimentary symbol table support.
Currently, we only output the name.
llvm-svn: 184255
JF Bastien [Tue, 18 Jun 2013 23:07:16 +0000 (23:07 +0000)]
Small correction to unordered memory code generation of ARM LDRD
The information was correct pre-LPAE.
llvm-svn: 184253
Adrian Prantl [Tue, 18 Jun 2013 23:01:56 +0000 (23:01 +0000)]
Emit forward decls for structs with declarations only when we are
limiting debug info.
FIXME: There is still work left to do here, the testcase should work even with -flimit-debug-info.
rdar://problem/
14101097
llvm-svn: 184252
Greg Clayton [Tue, 18 Jun 2013 22:51:05 +0000 (22:51 +0000)]
Added the ability to get a list of types from a SBModule or SBCompileUnit. Sebastien Metrot wanted this, and sent a hollowed out patch. I filled in the blanks and did the low level implementation. The new functions are:
//------------------------------------------------------------------
/// Get all types matching \a type_mask from debug info in this
/// module.
///
/// @param[in] type_mask
/// A bitfield that consists of one or more bits logically OR'ed
/// together from the lldb::TypeClass enumeration. This allows
/// you to request only structure types, or only class, struct
/// and union types. Passing in lldb::eTypeClassAny will return
/// all types found in the debug information for this module.
///
/// @return
/// A list of types in this module that match \a type_mask
//------------------------------------------------------------------
lldb::SBTypeList
SBModule::GetTypes (uint32_t type_mask)
//------------------------------------------------------------------
/// Get all types matching \a type_mask from debug info in this
/// compile unit.
///
/// @param[in] type_mask
/// A bitfield that consists of one or more bits logically OR'ed
/// together from the lldb::TypeClass enumeration. This allows
/// you to request only structure types, or only class, struct
/// and union types. Passing in lldb::eTypeClassAny will return
/// all types found in the debug information for this compile
/// unit.
///
/// @return
/// A list of types in this compile unit that match \a type_mask
//------------------------------------------------------------------
lldb::SBTypeList
SBCompileUnit::GetTypes (uint32_t type_mask = lldb::eTypeClassAny);
This lets you request types by filling out a mask that contains one or more bits from the lldb::TypeClass enumerations, so you can only get the types you really want.
llvm-svn: 184251
Eli Friedman [Tue, 18 Jun 2013 22:41:37 +0000 (22:41 +0000)]
Introduce a new mangling for protocol-qualified ObjC types in C++. This allows
to provide proper overloading, and also prevents mangling conflicts with
template arguments of protocol-qualified type.
This is a non-backward-compatible mangling change, but per discussion with
John, the benefits outweigh this cost.
Fixes <rdar://problem/
14074822>.
llvm-svn: 184250
Fariborz Jahanian [Tue, 18 Jun 2013 22:40:39 +0000 (22:40 +0000)]
doc. parsing: Allow parameter name "..." for variadic functions/methods.
// rdar://
14124644
llvm-svn: 184249
Enrico Granata [Tue, 18 Jun 2013 22:40:36 +0000 (22:40 +0000)]
<rdar://problem/
14194128>
ClangASTContext was failing to retrieve fields and base class info for ObjC variables
This checkin fixes that and adds a test case
llvm-svn: 184248
Bill Wendling [Tue, 18 Jun 2013 22:09:36 +0000 (22:09 +0000)]
Identify me on IRC.
llvm-svn: 184247
Matt Kopec [Tue, 18 Jun 2013 21:58:02 +0000 (21:58 +0000)]
Add assertion for when no watchpoint found in POSIX watchnotify handler.
Also, ensure x86_64 watchpoint registers are initialized before they are accessed on the POSIX side.
llvm-svn: 184246
Jim Ingham [Tue, 18 Jun 2013 21:52:48 +0000 (21:52 +0000)]
We were getting an assert because somebody was making a watchpoint that was
neither read nor write. Tighten up the checking so this isn't possible.
<rdar://problem/
14111167>
llvm-svn: 184245
Jim Grosbach [Tue, 18 Jun 2013 21:49:21 +0000 (21:49 +0000)]
ARM: Add optional datatype suffix to NEON mvn asm syntax.
rdar://
14194152
llvm-svn: 184244
Jim Ingham [Tue, 18 Jun 2013 21:44:59 +0000 (21:44 +0000)]
Make the lldb "Release" configuration use the same llvm build "Release+Asserts" as the lldb "Debug" configuration.
No need to rebuild llvm and remove asserts to build the local optimized lldb.
llvm-svn: 184243
Sean Silva [Tue, 18 Jun 2013 21:37:50 +0000 (21:37 +0000)]
[yaml2obj][ELF] Add dummy .strtab section.
This will be needed later for holding symbol names, due to the libObject
issue mentioned in the commit message of r184161.
llvm-svn: 184242
Matt Kopec [Tue, 18 Jun 2013 21:35:32 +0000 (21:35 +0000)]
Temporarily disable checking of watchpoint hit on FreeBSD on trace message.
Patch from Ed Maste.
llvm-svn: 184241
Eli Friedman [Tue, 18 Jun 2013 21:33:38 +0000 (21:33 +0000)]
Make sure the assembler-with-cpp hack for "#" works with multiple "#"s in
succession. Fixes PR16363.
llvm-svn: 184240
Bill Wendling [Tue, 18 Jun 2013 21:27:00 +0000 (21:27 +0000)]
We want a string representation of the attribute, not the kind as a string.
llvm-svn: 184239
Argyrios Kyrtzidis [Tue, 18 Jun 2013 21:26:33 +0000 (21:26 +0000)]
When declaring an ObjC interface decl with a @compatibility_alias alias name, change the class name to the "real" one.
If we have something like
@class NewImage;
@compatibility_alias OldImage NewImage;
@class OldImage;
the lookup for 'OldImage' will return the 'NewImage' decl ("@class NewImage").
In such a case, when creating the decl for "@class OldImage" use the real declaration name ("NewImage"),
instead of the alias one ("OldImage"), otherwise we will break IdentifierResolver and redecls-chain invariants.
Fixes crash of rdar://
14112291.
llvm-svn: 184238
Jason Molenda [Tue, 18 Jun 2013 21:23:14 +0000 (21:23 +0000)]
PlatformDarwinKernel was treating its file path arg as a kext bundle id -- but when the user
did a manual "target modules add", it would be a file path. If the kext bundle lookup fails,
fall back to calling PlatformDarwin's GetSharedModule which will handle a file path correctly.
<rdar://problem/
14179858>
llvm-svn: 184237
Tim Northover [Tue, 18 Jun 2013 21:16:53 +0000 (21:16 +0000)]
AArch64: remove accidental test output file.
llvm-svn: 184236
Rafael Espindola [Tue, 18 Jun 2013 21:10:03 +0000 (21:10 +0000)]
Remove Path::canWrite.
llvm-svn: 184235
Rafael Espindola [Tue, 18 Jun 2013 20:58:25 +0000 (20:58 +0000)]
Use llvm::sys::fs::can_write.
llvm-svn: 184234
Rafael Espindola [Tue, 18 Jun 2013 20:56:38 +0000 (20:56 +0000)]
Add a can_write function to PathV2.
llvm-svn: 184233
Stephen Lin [Tue, 18 Jun 2013 20:51:51 +0000 (20:51 +0000)]
Partially revert r184225 test changes and make a smaller and more generic fix.
llvm-svn: 184232
Michael Gottesman [Tue, 18 Jun 2013 20:49:45 +0000 (20:49 +0000)]
[ARMTargetLowering] ARMISD::{SUB,ADD}{C,E} second result is a boolean implying that upper bits are always 0.
llvm-svn: 184231
Michael Gottesman [Tue, 18 Jun 2013 20:49:40 +0000 (20:49 +0000)]
Converted an overly aggressive assert to a conditional check in AddCombineTo64bitMLAL.
Said assert assumes that ADDC will always have a glue node as its second
argument and is checked before we even know that we are actually performing the
relevant MLAL optimization. This is incorrect since on ARM we *CAN* codegen ADDC
with a use list based second argument. Thus to have both effects, I converted
the assert to a conditional check which if it fails we do not perform the
optimization.
In terms of tests I can not produce an ADDC from the IR level until I get in my
multiprecision optimization patch which is forthcoming. The tests for said patch
would cause this assert to fail implying that said tests will provide the
relevant tests.
llvm-svn: 184230
Rafael Espindola [Tue, 18 Jun 2013 20:42:25 +0000 (20:42 +0000)]
Remove unused Path::canRead.
llvm-svn: 184229
Nadav Rotem [Tue, 18 Jun 2013 20:41:52 +0000 (20:41 +0000)]
Fix 80 col violation.
llvm-svn: 184228
Michael Gottesman [Tue, 18 Jun 2013 20:40:40 +0000 (20:40 +0000)]
[multiprecision-builtins] Added missing builtin __builtin_{add,sub}cb for {add,sub} with carry for bytes.
I have had several people ask me about why this builtin was not available in
clang (since it seems like a logical conclusion). This patch implements said
builtins.
Relevant tests are included as well. I also updated the Clang language extension reference.
rdar://
14192664.
llvm-svn: 184227
Jim Ingham [Tue, 18 Jun 2013 20:27:11 +0000 (20:27 +0000)]
Fix the help for "image dump line-table" - its arguments are compilation units not modules.
llvm-svn: 184226
Stephen Lin [Tue, 18 Jun 2013 20:24:04 +0000 (20:24 +0000)]
Fix C++ constructor/destructor tests when run on ARM
llvm-svn: 184225
Kevin Enderby [Tue, 18 Jun 2013 20:19:24 +0000 (20:19 +0000)]
Change the arm assembler to support this from the v7c spec:
"When assembling to the ARM instruction set, the .N qualifier produces
an assembler error and the .W qualifier has no effect."
In the pre-matcher handler in the asm parser the ".w" (wide) qualifier
when in ARM mode is now discarded. And an error message is now
produced when the ".n" (narrow) qualifier is used in ARM mode.
Test cases for these were added.
rdar://
14064574
llvm-svn: 184224
Richard Smith [Tue, 18 Jun 2013 20:15:12 +0000 (20:15 +0000)]
DR14, DR101, and part of DR1: fix handling of extern "C" declarations in
namespaces, by treating them just like we treat extern "C" declarations in
function scope.
llvm-svn: 184223
Quentin Colombet [Tue, 18 Jun 2013 20:14:39 +0000 (20:14 +0000)]
During SelectionDAG building explicitly set a node to constant zero when the
value is zero.
This allows optmizations to kick in more easily.
Fix some test cases so that they remain meaningful (i.e., not completely dead
coded) when optimizations apply.
<rdar://problem/
14096009> superfluous multiply by high part of zero-extended
value.
llvm-svn: 184222
John Thompson [Tue, 18 Jun 2013 19:56:05 +0000 (19:56 +0000)]
Fixed a typo and naming convention.
llvm-svn: 184221
Jack Carter [Tue, 18 Jun 2013 19:47:15 +0000 (19:47 +0000)]
Mips ELF: Mark object file as ABI compliant
When producing objects that are abi compliant we are
marking neither the object file nor the assembly file
correctly and thus generate warnings.
We need to set the EF_CPIC flag in the ELF header when
generating direct object.
Note that the warning is only generated when compiling without PIC.
When compiling with clang the warning will be suppressed by supplying:
-Wa,-mno-shared -Wa,-call_nonpic
Also the following directive should also be added:
.option pic0
when compiling without PIC, This eliminates the need for supplying:
-mno-shared -call_nonpic
on the assembler command line.
Patch by Douglas Gilmore
llvm-svn: 184220
Rafael Espindola [Tue, 18 Jun 2013 19:46:19 +0000 (19:46 +0000)]
Remove uniqueID from PathV1.h.
llvm-svn: 184219
Rafael Espindola [Tue, 18 Jun 2013 19:40:07 +0000 (19:40 +0000)]
Use llvm::sys::fs::GetUniqueID.
llvm-svn: 184218
Rafael Espindola [Tue, 18 Jun 2013 19:34:49 +0000 (19:34 +0000)]
Add a GetUniqueID that will replace the uniqueID of PathV1.h.
llvm-svn: 184217
Adrian Prantl [Tue, 18 Jun 2013 18:24:04 +0000 (18:24 +0000)]
Fix a missing pointer deref that was uncovered by one of the buildbots.
llvm-svn: 184216
Enrico Granata [Tue, 18 Jun 2013 18:23:07 +0000 (18:23 +0000)]
<rdar://problem/
12717717>
Modifying our data formatters matching algorithm to ensure that "const X*" is treated as equivalent to "X*"
Also, a couple improvements to the "lldb types" logging
llvm-svn: 184215
Eli Friedman [Tue, 18 Jun 2013 18:10:01 +0000 (18:10 +0000)]
Correctly compute the index of the first string format argument when deciding
whether to emit a -Wformat-security warning. <rdar://problem/
14178260>.
llvm-svn: 184214
David Blaikie [Tue, 18 Jun 2013 18:03:17 +0000 (18:03 +0000)]
Reduce indentation.
llvm-svn: 184213
Enrico Granata [Tue, 18 Jun 2013 18:01:08 +0000 (18:01 +0000)]
This patch fixes the issue where our command-line tab completer would sometimes replicate commands
e.g.
(lldb) pl<TAB>
Available completions:
platform
plugin
platform
plugin
Thanks to Matthew Sorrels for doing work and testing on this issue
llvm-svn: 184212
Richard Smith [Tue, 18 Jun 2013 17:51:51 +0000 (17:51 +0000)]
PR14503: Don't assert if a constexpr constructor temploid instantiates to a
constructor that does not initialize all members, and that constructor is used
to initialize a global.
llvm-svn: 184211
Rafael Espindola [Tue, 18 Jun 2013 17:20:08 +0000 (17:20 +0000)]
Convert most uses of PathV1.h in ToolRunner.cpp.
llvm-svn: 184210
Enrico Granata [Tue, 18 Jun 2013 17:15:32 +0000 (17:15 +0000)]
Removing the lldb-perf file group from our Xcode project
This is in a separate project now so this duplication is unnecessary and some referenced files were also dangling after a rename
llvm-svn: 184209
Fariborz Jahanian [Tue, 18 Jun 2013 17:10:58 +0000 (17:10 +0000)]
Objective-C: Fixes a typo correction bug where a
selector would be correted to identical selector name
in certain corner cases. // rdar://7853549
llvm-svn: 184208
Stefanus Du Toit [Tue, 18 Jun 2013 17:08:10 +0000 (17:08 +0000)]
Add support for encoding the HLE XACQUIRE and XRELEASE prefixes.
For decoding, keep the current behavior of always decoding these as their REP
versions. In the future, this could be improved to recognize the cases where
these behave as XACQUIRE and XRELEASE and decode them as such.
llvm-svn: 184207
Rafael Espindola [Tue, 18 Jun 2013 17:01:00 +0000 (17:01 +0000)]
Add a version of unique_file that return just the file name.
llvm-svn: 184206
Stephen Lin [Tue, 18 Jun 2013 17:00:49 +0000 (17:00 +0000)]
CodeGen: Have 'this'-returning constructors and destructors to take advantage of the new backend 'returned' attribute.
The backend will now use the generic 'returned' attribute to form tail calls where possible, as well as avoid save-restores of 'this' in some cases (specifically the cases that matter for the ARM C++ ABI).
This patch also reverts a prior front-end only partial implementation of these optimizations, since it's no longer required.
llvm-svn: 184205
Rafael Espindola [Tue, 18 Jun 2013 16:47:55 +0000 (16:47 +0000)]
Return a std::string from PrependMainExecutablePath.
llvm-svn: 184204
Rafael Espindola [Tue, 18 Jun 2013 16:21:54 +0000 (16:21 +0000)]
Remove PathV1.h use from BugDriver.cpp.
llvm-svn: 184203
Rafael Espindola [Tue, 18 Jun 2013 16:14:09 +0000 (16:14 +0000)]
Remove use of PathV1.h from ExecutionDriver.cpp.
llvm-svn: 184202
Nadav Rotem [Tue, 18 Jun 2013 15:58:05 +0000 (15:58 +0000)]
Scan the successor blocks and use the PHI nodes as a hint for possible chain roots.
llvm-svn: 184201
Nadav Rotem [Tue, 18 Jun 2013 15:57:12 +0000 (15:57 +0000)]
Add a return value to make this function more useful.
llvm-svn: 184200
Fariborz Jahanian [Tue, 18 Jun 2013 15:54:30 +0000 (15:54 +0000)]
Fix buildbot failure.
llvm-svn: 184199
Rafael Espindola [Tue, 18 Jun 2013 15:54:13 +0000 (15:54 +0000)]
Remove usage of PathV1.h from OptimizerDriver.cpp.
llvm-svn: 184198
Edwin Vane [Tue, 18 Jun 2013 15:44:58 +0000 (15:44 +0000)]
cpp11-migrate: Transforms honour header modification flag
Transforms will now make changes to headers if header modifications have been
enabled.
FIXME: Only UseNullptr contains a cursory header modification test. Other
transforms should have them too.
llvm-svn: 184197
Rafael Espindola [Tue, 18 Jun 2013 15:33:18 +0000 (15:33 +0000)]
Convert some uses of eraseFromDisk.
llvm-svn: 184196