summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Pull up AssemblyWriter interface into header to allow subclassingDaniel Malea2013-05-082-84/+160
| | | | | | | | | | | - made all functions virtual so that subclasses can specialize them - add printInstructionLine so that subclasses can choose whether or not to print the newline character (without having to implement printBasicBlock() - added a second constructor to AssemblyWriter that does not require a SlotTracker, as required in order to keep the SlotTracker helper class outside AsmWriter.h and buried in the implementation. llvm-svn: 181466
* Add missing triple to unit test.Richard Smith2013-05-081-2/+1
| | | | llvm-svn: 181465
* Turn off a warning caused by my last patch.Fariborz Jahanian2013-05-081-1/+1
| | | | llvm-svn: 181464
* Add line tracking support to FormattedStream Daniel Malea2013-05-082-29/+42
| | | | | | | | - previously formatted_raw_ostream tracked columns, now it tracks lines too - used by (upcoming) DebugIR pass to know the line number to connect to each IR instruction llvm-svn: 181463
* <rdar://problem/13621080>Enrico Granata2013-05-083-11/+33
| | | | | | | | | This commit changes the ${function.name-with-args} prompt keyword to also tackle structs Previously, since aggregates have no values, this would show up as foo=(null) This checkin changes that to instead print foo=(Foo at 0x123) (i.e. typename at address) There are other potential choices here (summary, one-liner printout of all members, ...) and I would love to hear feedback about better options, if any llvm-svn: 181462
* Improvements to the package importing feature - test case will followEnrico Granata2013-05-081-4/+14
| | | | llvm-svn: 181461
* Update lldb status page to reflect watchpoint support on Linux.Matt Kopec2013-05-081-1/+1
| | | | llvm-svn: 181460
* [mips] Add instruction selection pattern for (seteq $LHS, 0).Akira Hatanaka2013-05-082-0/+13
| | | | llvm-svn: 181459
* documentation parsing. Patch to do typo correction for Fariborz Jahanian2013-05-085-3/+52
| | | | | | | | documentation commands. Patch was reviewed, along with great suggestions for improvement, by Doug. // rdar://12381408 llvm-svn: 181458
* Try to fix Windows build tooPeter Collingbourne2013-05-081-5/+5
| | | | llvm-svn: 181457
* Mark multi-threaded watchpoint test as skip on Linux due to lldb assertions ↵Matt Kopec2013-05-081-2/+2
| | | | | | in the debian buildbot. llvm-svn: 181454
* [PowerPC] Add ELF relocation testsUlrich Weigand2013-05-081-0/+25
| | | | | | | | | This patch extends test/MC/PowerPC/ppc64-fixups.s to not only check for the correct fixup type in the --show-encoding output, but also runs the generated object file through llvm-readobj -r and verifies that the correct ELF relocation records were generated. llvm-svn: 181453
* Remove unused isLegalAddressImmediate() method.Roman Divacky2013-05-082-21/+0
| | | | llvm-svn: 181452
* [PowerPC] Add some missing PPC64 relocsUlrich Weigand2013-05-082-0/+16
| | | | | | | | | | | | | All R_PPC_... relocs should also be present (using the same number) under the corresponding R_PPC64_... name. The latter were missing for a couple of cases, which this patch adds. This is not a big problem when emitting the reloc, because we can just use the R_PPC_... define instead. But it is a problem when *dumping* relocations e.g. using llvm-readobj, because this will expect only R_PPC64_... values when inspecting a ppc64 ELF file. llvm-svn: 181451
* [PowerPC] Fix regression in generating @ha/@l relocsUlrich Weigand2013-05-081-1/+10
| | | | | | | | | | | | | | | | The patch I committed as revision 167864 introduced a regression that causes LLVM to no longer generate appropriate relocs for @ha/@l symbol references (but fail an assertion instead). This is fixed here by re-enabling support for the VK_PPC_GAS_HA16/ VK_PPC_GAS_LO16 variant kinds (and their Darwin variants) in PPCELFObjectWriter.cpp. Tested by running projects/test-suite in -m32 mode with the integrated assembler forced on. A standalone test case will be committed shortly as well. llvm-svn: 181450
* Fix handling of anonymous aggregate parameters for powerpc*-apple-darwin8.Bill Schmidt2013-05-082-4/+94
| | | | | | | | This fixes bug 15821 similarly to the powerpc64-linux fix for bug 14779. Patch by David Fang. llvm-svn: 181449
* Fix assertion from previous fix for debian os watchpoints.Matt Kopec2013-05-082-3/+3
| | | | | | Also mark one of the tests as expected fail on Linux due to the debian fix. llvm-svn: 181448
* Attempt to fix failing watchpoints for debian os buildbot.Matt Kopec2013-05-081-0/+14
| | | | llvm-svn: 181447
* Remove distinction between Apple/Linux for Process run locks:Daniel Malea2013-05-082-19/+0
| | | | | | | | - Played with the current dual run lock implementation for a few days, noticed no regressions, so enabling in trunk so we see if any problems are detected by buildbots. llvm-svn: 181446
* Adding test-case for llvm.org/pr15936 (known failure with GCC 4.6/4.7)Daniel Malea2013-05-083-0/+92
| | | | | | | | - verify that backtraces for stacks that include functions which contain illegal instructions are correct, and that variables in said functions can be printed. llvm-svn: 181442
* Fix rdar-13338477 test-case for Linux.Daniel Malea2013-05-081-3/+3
| | | | | | | - Using __builtin_trap confuses the stack unwinder - __builtin_trap specific test will be added shortly llvm-svn: 181441
* Try to fix the mac buildbotsPeter Collingbourne2013-05-081-4/+5
| | | | llvm-svn: 181440
* Further fix to pointer to member formatting.Daniel Jasper2013-05-082-2/+6
| | | | | | | | With style where the *s go with the type: Before: typedef bool* (Class:: *Member)() const; After: typedef bool* (Class::*Member)() const; llvm-svn: 181439
* Fix formatting of pointers to members.Daniel Jasper2013-05-083-16/+19
| | | | | | Before: int(S::*func)(void *); After: int (S::*func)(void *); llvm-svn: 181438
* For r181148: fixed warning 'enumeral and non-enumeral type in conditional ↵Stepan Dyatkovskiy2013-05-081-1/+1
| | | | | | expression'. llvm-svn: 181437
* [nolibc] Change internal syscall API to remove reliance on libc's errno.Peter Collingbourne2013-05-0817-151/+309
| | | | | | | | | | | | | This change moves to a model where the error value of a system call is potentially contained in the return value itself rather than being implicit in errno. The helper function internal_iserror can be used to extract the error value from a return value. On platforms other than Linux/x86_64 this still uses errno, but other platforms are free to port their error handling to this new model. Differential Revision: http://llvm-reviews.chandlerc.com/D756 llvm-svn: 181436
* Add myself as SystemZ code ownerRichard Sandiford2013-05-081-0/+4
| | | | llvm-svn: 181434
* Document Clang's support for #pragma comment(lib/linker) with -fms-extensionsReid Kleckner2013-05-081-0/+6
| | | | | | As suggested by Dmitri Gribenko. llvm-svn: 181433
* Add SystemZ feats to CodeGenerator.rstRichard Sandiford2013-05-081-0/+9
| | | | llvm-svn: 181431
* Improve line breaking in binary expressions.Daniel Jasper2013-05-083-29/+56
| | | | | | | | | | | | | | | | | | | | | | | If the LHS of a binary expression is broken, clang-format should also break after the operator as otherwise: - The RHS can be easy to miss - It can look as if clang-format doesn't understand operator precedence Before: bool aaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa != bbbbbbbbbbbbbbbbbb && ccccccccc == ddddddddddd; After: bool aaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa != bbbbbbbbbbbbbbbbbb && ccccccccc == ddddddddddd; As an additional note, clang-format would also be ok with the following formatting, it just has a higher penalty (IMO correctly so). bool aaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa != bbbbbbbbbbbbbbbbbb && ccccccccc == ddddddddddd; llvm-svn: 181430
* Quick fix for ASan test build on Android.Sergey Matveev2013-05-081-12/+11
| | | | llvm-svn: 181429
* [sanitizer] Fix build breakage in Go TSan.Sergey Matveev2013-05-081-0/+2
| | | | llvm-svn: 181428
* Forward #pragma comment(lib/linker) through as flags metadataReid Kleckner2013-05-0814-27/+163
| | | | | | | | | | | | | | | | | | | | | | Summary: Most of this change is wiring the pragma all the way through from the lexer, parser, and sema to codegen. I considered adding a Decl AST node for this, but it seemed too heavyweight. Mach-O already uses a metadata flag called "Linker Options" to do this kind of auto-linking. This change follows that pattern. LLVM knows how to forward the "Linker Options" metadata into the COFF .drectve section where these flags belong. ELF support is not implemented, but possible. This is related to auto-linking, which is http://llvm.org/PR13016. CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D723 llvm-svn: 181426
* R600/SI: Add lit tests for llvm.SI.imageload and llvm.SI.resinfo intrinsicsMichel Danzer2013-05-082-0/+197
| | | | | | | Adapted from the llvm.SI.sample test. Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 181425
* [sanitizer] Move GetStackTrace from ASan to sanitizer_common.Sergey Matveev2013-05-087-59/+79
| | | | llvm-svn: 181424
* PPCInstrInfo::optimizeCompareInstr should not optimize FP comparesHal Finkel2013-05-082-20/+13
| | | | | | | | The floating-point record forms on PPC don't set the condition register bits based on a comparison with zero (like the integer record forms do), but rather based on the exception status bits. llvm-svn: 181423
* [nolibc] Disable the GCC stack protector when building sanitizer runtimes.Peter Collingbourne2013-05-081-0/+1
| | | | | | | | | | | | | | | | | | | This is the first in a sequence of changes designed to eliminate the libc dependency in sanitizer_common. The main motivation for these changes is to be able to provide an alternative for the current interceptor-based technique for instrumenting functions in libc. In this new technique, we compile libc with instrumentation. This has the potential advantages of being more accurate than interception and reducing the amount of custom code required for each libc function. As a side effect of this, we cannot depend on libc in the sanitizer runtime due to mutual dependency issues. This change disables the GCC stack protector, which introduces a libc dependency and is enabled by default in Ubuntu. Differential Revision: http://llvm-reviews.chandlerc.com/D755 llvm-svn: 181422
* Change indentation of multi-line nested name specifiers.Daniel Jasper2013-05-082-14/+5
| | | | | | | | | | | | | | | | | | | Before: aaaaaaaa:: aaaaaaaa:: aaaaaaaa(); After: aaaaaaaa:: aaaaaaaa:: aaaaaaaa(); The reason for the change is that: a) we are not sure which is better b) it is a really rare edge case c) it simplifies the code d) it currently causes problems with memoization llvm-svn: 181421
* This patch fixes two tests marked as XFAIL among the ARM assembler tests.Mihai Popa2013-05-082-99/+97
| | | | | | The reference encoding is correct, but written in the wrong byte order (these are Thumb tests, while the reference is in ARM byte order). llvm-svn: 181420
* Add libcxx and clang-tools-extra to the testing thing.Bill Wendling2013-05-081-3/+10
| | | | llvm-svn: 181418
* Add clang-tools-extra to the list of things to tag for the release.Bill Wendling2013-05-081-2/+2
| | | | llvm-svn: 181402
* Fix a bug in codegenprep where it was losing track of values OptimizeMemoryInstNick Lewycky2013-05-082-5/+46
| | | | | | by switching to a ValueMap. Patch by Andrea DiBiagio! llvm-svn: 181397
* Fix one FIXME in VTableBuilderTimur Iskhodzhanov2013-05-081-8/+8
| | | | llvm-svn: 181396
* DAGCombiner: Simplify inverted bit testsDavid Majnemer2013-05-083-10/+29
| | | | | | | | Fold (xor (and x, y), y) -> (and (not x), y) This removes an opportunity for a constant to appear twice. llvm-svn: 181395
* Debug Info: Using declarations/DW_TAG_imported_declaration of variables, ↵David Blaikie2013-05-084-20/+83
| | | | | | | | | | | | types, and functions. Basic support is implemented here - it still doesn't account for declared-but-not-defined variables or functions. It cannot handle out of order (declared, 'using', then defined) cases for variables, but can handle that for functions (& can handle declared, 'using'd, and not defined at all cases for types). llvm-svn: 181393
* Debug Info: Support DW_TAG_imported_declarationDavid Blaikie2013-05-082-50/+141
| | | | | | | | | | | | | | This provides basic functionality for imported declarations. For subprograms and types some amount of lazy construction is supported (so the definition of a function can proceed the using declaration), but it still doesn't handle declared-but-not-defined functions (since we don't generally emit function declarations). Variable support is really rudimentary at the moment - simply looking up the existing definition with no support for out of order (declaration, imported_module, then definition). llvm-svn: 181392
* Finish renaming constructImportedModuleDIE to constructImportedEntityDIEDavid Blaikie2013-05-082-7/+7
| | | | llvm-svn: 181391
* In block enum-return inference, don't die on loads of enum lvalues.John McCall2013-05-082-3/+14
| | | | | | More of rdar://13200889. llvm-svn: 181390
* Add test forgotten in r181388.Richard Smith2013-05-081-0/+17
| | | | llvm-svn: 181389
* C++1y: Add a step limit to constexpr evaluation, to catch runaway loops.Richard Smith2013-05-087-4/+36
| | | | llvm-svn: 181388
OpenPOWER on IntegriCloud