summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CodeGen: Have 'this'-returning constructors and destructors to take ↵Stephen Lin2013-06-1813-229/+230
| | | | | | | | | | 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
* Return a std::string from PrependMainExecutablePath.Rafael Espindola2013-06-181-6/+7
| | | | llvm-svn: 184204
* Remove PathV1.h use from BugDriver.cpp.Rafael Espindola2013-06-181-3/+2
| | | | llvm-svn: 184203
* Remove use of PathV1.h from ExecutionDriver.cpp.Rafael Espindola2013-06-181-24/+37
| | | | llvm-svn: 184202
* Scan the successor blocks and use the PHI nodes as a hint for possible chain ↵Nadav Rotem2013-06-181-6/+40
| | | | | | roots. llvm-svn: 184201
* Add a return value to make this function more useful.Nadav Rotem2013-06-182-2/+4
| | | | llvm-svn: 184200
* Fix buildbot failure.Fariborz Jahanian2013-06-181-1/+1
| | | | llvm-svn: 184199
* Remove usage of PathV1.h from OptimizerDriver.cpp.Rafael Espindola2013-06-181-26/+32
| | | | llvm-svn: 184198
* cpp11-migrate: Transforms honour header modification flagEdwin Vane2013-06-1818-58/+206
| | | | | | | | | | 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
* Convert some uses of eraseFromDisk.Rafael Espindola2013-06-181-3/+3
| | | | llvm-svn: 184196
* Objective-C [qoi]: privide typo correction for selectorsFariborz Jahanian2013-06-188-23/+54
| | | | | | | | in addition of receiver having static type, but also when receiver has dynamic type (of 'id' variety) as well as when receiver is of 'Class' type vareity. // rdar://7853549 llvm-svn: 184195
* cpp11-migrate: Transform now responsible for applying replacementsEdwin Vane2013-06-1816-199/+204
| | | | | | | | | | | | | | | | | | | | | | | | To make it possible for replacements made to headers as part of transforming one translation unit to not be visible to the transform of other translation units, Transform now handles replacement application as part of its end-of-source handling. Several things were simplified as a result: - The duplicated code in every transform for applying replacements is now gone and replaced with one location in Transform. - RefactoringTool is no longer used since Transform houses the Replacements structure. - RewriterContainer is now a private implementation detail of Transform (also renamed to RewriterManager since its behaviour is slightly different now with respect to lifetime of objects). - There's now no distinction between input and output file state. Misc notes: - Interface changes reflected in unit tests. - Replacements for files other than the main file are assumed to be for headers and stored as such. llvm-svn: 184194
* Don't use PathV1.h in tools/bugpoint/Miscompilation.cpp.Rafael Espindola2013-06-183-30/+49
| | | | llvm-svn: 184193
* Remove option emitter from clang-tblgenReid Kleckner2013-06-185-292/+3
| | | | | | | The CMake build was still using it because I forgot to s/CLANG/LLVM/ in the tablegen() call. The Makefile build is already using llvm-tblgen. llvm-svn: 184192
* Basic support for parsing Mach-O universal binaries in LLVMObject libraryAlexey Samsonov2013-06-1817-4/+312
| | | | llvm-svn: 184191
* [asan] fix a rare failure in fast unwinder, found by asan/clang bootstrapKostya Serebryany2013-06-181-0/+1
| | | | llvm-svn: 184190
* [lsan] Set current_thread_tid correctly for main thread.Sergey Matveev2013-06-181-0/+1
| | | | llvm-svn: 184189
* Remove duplicated file and directory.Rafael Espindola2013-06-181-34/+0
| | | | llvm-svn: 184188
* [sanitizer] Fix Android build.Evgeniy Stepanov2013-06-183-12/+12
| | | | llvm-svn: 184187
* Don't convert object_error's enum to and from int.Rafael Espindola2013-06-182-16/+16
| | | | | | | This allows the compiler to see the enum and warn about it. While in here, fix a switch to not use a default and fix style violations. llvm-svn: 184186
* [sanitizer] Remove a set of deprecated ioctls.Evgeniy Stepanov2013-06-183-13/+0
| | | | llvm-svn: 184185
* [sanitizer] Replace ext2_ ioctls with generic fs_ ioctls.Evgeniy Stepanov2013-06-183-13/+13
| | | | | | | They are actually the same, but ext2_fs.h header is not available in userspace with newer kernels. llvm-svn: 184184
* [sanitizer] Symbolic ioctl names.Evgeniy Stepanov2013-06-184-414/+1184
| | | | | | | | | | Replace hardcoded ioctl request ids with symbolic names. Disable certain ioctls on platforms where such names are not found in the system headers. Fix a bug in ioctl_lookup. Reenable ioctl test on Mac. llvm-svn: 184183
* ARM: fix literal load with positive offset encodingAmaury de la Vieuville2013-06-184-6/+27
| | | | | | | | | | | | When using a positive offset, literal loads where encoded as if it was negative, because: - The sign bit was not assigned to an operand - The addrmode_imm12 operand was not encoding the sign bit correctly This patch also makes the assembler look at the .w/.n specifier for loads. llvm-svn: 184182
* ARM: add operands pre-writeback variants when neededAmaury de la Vieuville2013-06-184-40/+77
| | | | llvm-svn: 184181
* ARM: fix thumb literal loads decodingAmaury de la Vieuville2013-06-184-31/+293
| | | | | | | | This fixes two previous issues: - Negative offsets were not correctly disassembled - The decoded opcodes were not the right one llvm-svn: 184180
* ARM: thumb stores cannot use PC as dest registerAmaury de la Vieuville2013-06-182-0/+74
| | | | llvm-svn: 184179
* Hopefully fix the MSVS build after r184105Timur Iskhodzhanov2013-06-181-0/+1
| | | | llvm-svn: 184178
* Update to new API.Bill Wendling2013-06-181-1/+1
| | | | llvm-svn: 184177
* Update to pass in pointers intead of references.Bill Wendling2013-06-182-2/+2
| | | | llvm-svn: 184176
* Use pointers to the MCAsmInfo and MCRegInfo.Bill Wendling2013-06-1830-199/+195
| | | | | | | | | Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
* Fix nondeterminism in .gcno file generation.Nick Lewycky2013-06-181-9/+25
| | | | llvm-svn: 184174
* Remove dead prototype.Bill Wendling2013-06-181-2/+0
| | | | llvm-svn: 184173
* Simplify some of the code. No functionality change.Bill Wendling2013-06-181-7/+5
| | | | llvm-svn: 184172
* size_t on Darwin AAPCS targets is "unsigned long". <rdar://problem/14136459>Bob Wilson2013-06-182-0/+15
| | | | | | | | Some embedded targets use ARM's AAPCS with iOS header files that define size_t as unsigned long, which conflicts with the usual AAPCS definition of size_t as unsigned int. llvm-svn: 184171
* remove some @deprecated markers: LLVM APIs aren't deprecated, they are ↵Chris Lattner2013-06-182-5/+0
| | | | | | | | | | removed when obsolete. These APIs are still used, and the constant APIs are actually really important. Removing these makes -Wdocumentation more useful. llvm-svn: 184170
* Simplify a loop in ProcessCodeCompleteResults(). Pointed out by David BlaikieDmitri Gribenko2013-06-181-6/+6
| | | | llvm-svn: 184169
* ArrayRef'ize CodeCompletionContext::getNumSelIdents()Dmitri Gribenko2013-06-182-12/+7
| | | | llvm-svn: 184168
* contextual conversion fix: C++98 compatibility warning.Larisse Voufo2013-06-181-2/+3
| | | | llvm-svn: 184167
* Add support for -fpcc-struct-return. Patch by Arthur O'Dwyer!John McCall2013-06-188-22/+150
| | | | llvm-svn: 184166
* r184100 Fix -- Updated test cases for contextual conversionLarisse Voufo2013-06-183-5/+25
| | | | llvm-svn: 184165
* Build Apple's llvmCore with --disable-zlib. <rdar://problem/14182316>Bob Wilson2013-06-181-1/+2
| | | | llvm-svn: 184164
* <rdar://problem/13270271>Enrico Granata2013-06-182-12/+2
| | | | | | | Only add the — (double dash) separator to a command syntax if it has any options to be separated from arguments Also remove the unused Translate() method from CommandObject llvm-svn: 184163
* [yaml2obj][ELF] Factor out string table section creation.Sean Silva2013-06-181-11/+14
| | | | llvm-svn: 184162
* [yaml2obj][ELF] Refer specifically to the section header string table.Sean Silva2013-06-181-17/+17
| | | | | | | | | | | | | | | A bug in libObject will cause it to assert() if a symbol table's string table and the section header string table are the same section, so we need to ensure that we emit two different string tables (among other things). The problematic code is the hardcoded usage of ".strtab" (`dot_strtab_sec`) for looking up symbol names in ELFObjectFile<ELFT>::getSymbolName. I discussed this with Michael, and he has some local improvements to the ELF code in libObject that, among other things, should fix our handling of this scenario. llvm-svn: 184161
* [yaml2obj][ELF] Ensure more fields are zero'd.Sean Silva2013-06-181-0/+2
| | | | | | | | | | | | I was spotting garbage in the output. I'd like to just zero the entire ELFYAML::Section to be sure, but it contains non-POD types. (I'm also trying to avoid bloating the ELFYAML::Foo classes with a bunch of constructor code). No test, since this is by its very nature unpredictable. I'm pretty sure that one of the sanitizers would catch it immediately though. llvm-svn: 184160
* Added a troubleshooting page as a place to add commonly asked questions with ↵Greg Clayton2013-06-182-0/+90
| | | | | | | | | | solutions. The first two questions I have added explanations and answers to are: - File and line breakpoints are not getting hit - How do I check if I have debug symbols? llvm-svn: 184159
* <rdar://problem/13926101>Enrico Granata2013-06-181-3/+17
| | | | | | | | Allow “command script import” to work with folder names that have a ‘ (tick) in them Kudos to StackOverflow (question 1494399) for the replace_all code! llvm-svn: 184158
* Remove an ugly hack that was meant to eliminate the breakpoint ambiguityAdrian Prantl2013-06-182-4/+20
| | | | | | | | | | | | | | between a block assignment and the entry of the block function. In reality this wouldn't work anyway because blocks are predominantly created on-the-fly inside of an ObjC method invocation. The proper fix for the ambiguity is to use -gcolumn-info to differentiate the breakpoints. This is expected to break some block-related darwin-gdb tests. rdar://problem/14039866 llvm-svn: 184157
* Adding a "cmdline" category to the test suiteEnrico Granata2013-06-189-1/+10
| | | | llvm-svn: 184155
OpenPOWER on IntegriCloud