summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add jump tables handling for MSP430.Anton Korobeynikov2013-07-013-0/+65
| | | | | | Patch by Job Noorman! llvm-svn: 185364
* Fix PR16508.Cameron Zwarich2013-07-012-4/+36
| | | | | | | | | | | | When phis get lowered, destination copies are inserted using an iterator that is determined once for all phis in the block, which BuildMI interprets as a request to insert an instruction directly before the iterator. In the case of a cyclic phi, source copies may also be inserted directly before this iterator, which can cause source copies to be inserted before destination copies. The fix is to keep an iterator to the last phi and then advance it while lowering each phi in order to insert destination copies directly after the phis. llvm-svn: 185363
* Fix MSP430 builtin types.Anton Korobeynikov2013-07-013-13/+13
| | | | | | Patch by Job Noorman! llvm-svn: 185362
* Don't form PPC CTR loops for over-sized exit countsHal Finkel2013-07-012-0/+26
| | | | | | | | | | Although you can't generate this from C on PPC64, if you have a loop using a 64-bit counter on PPC32 then you can't form a CTR-based loop for it. This had been cauing the PPCCTRLoops pass to assert. Thanks to Joerg Sonnenberger for providing a test case! llvm-svn: 185361
* AArch64: correct CodeGen of MOVZ/MOVK combinations.Tim Northover2013-07-014-17/+36
| | | | | | | | | | | | According to the AArch64 ELF specification (4.6.8), it's the assembler's responsibility to make sure the shift amount is correct in relocated MOVZ/MOVK instructions. This wasn't being obeyed by either the MCJIT CodeGen or RuntimeDyldELF (which happened to work out well for JIT tests). This commit should make us compliant in this area. llvm-svn: 185360
* (1) Add ".test" to test/Other/lit.local.cfg, so llvm-cov.test is actually run.Matt Beaumont-Gay2013-07-014-3/+3
| | | | | | | | | (2) Rename llvm-cov test inputs so the string "llvm-cov" doesn't get substituted by lit within the input filenames on the RUN line. (3) XFAIL llvm-cov.test because it asserts: include/llvm/ADT/SmallVector.h:140: reference llvm::SmallVectorTemplateCommon<llvm::GCOVBlock *, void>::operator[](unsigned int) [T = llvm::GCOVBlock *]: Assertion `begin() + idx < end()' failed. llvm-svn: 185358
* Formatting cleanup.Jim Ingham2013-07-011-3/+10
| | | | llvm-svn: 185357
* Revert r185339 (ARM: relax the atomic release barrier to "dmb ishst")Tim Northover2013-07-013-95/+57
| | | | | | | | | Turns out I'd misread the architecture reference manual and thought that was a load/store-store barrier, when it's not. Thanks for pointing it out Eli! llvm-svn: 185356
* Debug Info: Scope of a DebugLoc should not be null.Manman Ren2013-07-011-6/+3
| | | | | | No functionality change. Remove handling for the null case. llvm-svn: 185354
* [PowerPC] Fix @got references to local symbolsUlrich Weigand2013-07-012-0/+80
| | | | | | | | | | | A @got reference must always result in a relocation, so that the linker has a chance to set up the GOT entry, even if the symbol happens to be local. Add a PPCELFObjectWriter::ExplicitRelSym routine that enforces a relocation to be emitted for GOT references. llvm-svn: 185353
* Implement n3656 - make_unique. Thanks to Howard for the review and suggestions.Marshall Clow2013-07-017-0/+191
| | | | llvm-svn: 185352
* [PowerPC] Add "wait" instructionUlrich Weigand2013-07-012-4/+15
| | | | | | This adds the "wait" instruction and its extended mnemonics. llvm-svn: 185350
* [PowerPC] Support "eieio" instructionUlrich Weigand2013-07-013-1/+11
| | | | | | | This adds support for the "eieio" instruction to the asm parser. llvm-svn: 185349
* Added c++ mode selector to head of SelectionDAGBuilder.h so editors open it ↵Michael Gottesman2013-07-011-1/+1
| | | | | | in c++ mode instead of c mode. llvm-svn: 185348
* [PowerPC] Add some existing instructions to ppc64-encoding-bookII.sUlrich Weigand2013-07-011-3/+8
| | | | | | | | | | The test case had a couple of FIXMEs where the instruction is in fact already supported by the back-end. In some other case, while the generic form of the instruction is not yet supported, a specialized form is. This adds tests for those already supported instructions / instruction forms. llvm-svn: 185347
* Fix incorrect token counting introduced by r185319.Daniel Jasper2013-07-012-1/+4
| | | | | | | | | | | | This lead to weird formatting. Before: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); After: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); llvm-svn: 185346
* [ASan] try to fix Windows buildAlexey Samsonov2013-07-011-2/+2
| | | | llvm-svn: 185345
* [PowerPC] Add variants of "sync" instructionUlrich Weigand2013-07-013-9/+19
| | | | | | | This adds support for the "sync $L" instruction with operand, and provides aliases for "lwsync" and "ptesync". llvm-svn: 185344
* Implement n3658 - Compile-time integer sequencesMarshall Clow2013-07-017-0/+331
| | | | llvm-svn: 185343
* [ASan] Properly disable strict init-order checking when pthread_create is calledAlexey Samsonov2013-07-013-7/+38
| | | | llvm-svn: 185342
* [msan] Intercept stpcpy.Evgeniy Stepanov2013-07-012-0/+22
| | | | llvm-svn: 185340
* ARM: relax the atomic release barrier to "dmb ishst"Tim Northover2013-07-013-57/+95
| | | | | | | | | | | I believe the full "dmb ish" barrier is not required to guarantee release semantics for atomic operations. The weaker "dmb ishst" prevents previous operations being reordered with a store executed afterwards, which is enough. A key point to note (fortunately already correct) is that this barrier alone is *insufficient* for sequential consistency, no matter how liberally placed. llvm-svn: 185339
* [sanitizer] Intercept getnameinfo.Evgeniy Stepanov2013-07-015-0/+46
| | | | llvm-svn: 185338
* Avoid column limit violation in block comments in certain cases.Alexander Kornienko2013-07-012-4/+27
| | | | | | | | | | | | | | | | | Summary: Add penalty when an excessively long line in a block comment can not be broken on a leading whitespace. Lack of this addition can lead to severe column width violations when they can be easily avoided. Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D1071 llvm-svn: 185337
* [NVPTX] Add support for module-scope inline asmJustin Holewinski2013-07-012-0/+20
| | | | | | | Since we were explicitly not calling AsmPrinter::doInitialization, any module-scope inline asm was not being printed. llvm-svn: 185336
* [NVPTX] We dont use NVBuiltin anymoreJustin Holewinski2013-07-012-3/+0
| | | | llvm-svn: 185335
* [NVPTX] Cut down on physical register defsJustin Holewinski2013-07-013-28/+13
| | | | | | | | We are using virtual registers throughout now, but we still need to keep a few physical registers per class around to keep the infrastructure happy. llvm-svn: 185334
* [NVPTX] 64-bit ADDC/ADDE are not legalJustin Holewinski2013-07-012-0/+22
| | | | llvm-svn: 185333
* [NVPTX] Fix vector loads from parameters that span multiple loads, and fix ↵Justin Holewinski2013-07-013-156/+22
| | | | | | some typos llvm-svn: 185332
* [NVPTX] Handle signext/zeroext attributes properlyJustin Holewinski2013-07-012-19/+41
| | | | | | | | Fix a case where we were incorrectly sign-extending a value when we should have been zero-extending the value. Also change some SIGN_EXTEND to ANY_EXTEND because we really dont care and may have more opportunity to fold subexpressions llvm-svn: 185331
* [NVPTX] Add support for native SIGN_EXTEND_INREG where availableJustin Holewinski2013-07-013-4/+143
| | | | llvm-svn: 185330
* [NVPTX] Add isel patterns for [reg+offset] form of ldg/ldu.Justin Holewinski2013-07-013-112/+451
| | | | llvm-svn: 185329
* [NVPTX] Make sure we zero out high-order 24 bits for 8-bit load into 32-bit ↵Justin Holewinski2013-07-012-1/+16
| | | | | | value llvm-svn: 185328
* Don't align "} // namespace" comments.Daniel Jasper2013-07-012-12/+41
| | | | | | | | | | | | | | | | This is not all bad, but people are often surprised by it. Before: namespace { int SomeVariable = 0; // comment } // namespace After: namespace { int SomeVariable = 0; // comment } // namespace llvm-svn: 185327
* Change __sanitizer_symbolize_demangle hook return type to 'int'Alexey Samsonov2013-07-011-6/+14
| | | | llvm-svn: 185326
* [ASan] Cache atos processes to make Darwin symbolication faster.Alexander Potapenko2013-07-011-12/+34
| | | | | | Patch by Jesse Ruderman<jruderman@gmail.com> llvm-svn: 185325
* [sanitizer] Use the correct macro to check glibc version.Sergey Matveev2013-07-011-1/+1
| | | | llvm-svn: 185324
* clang/test/lit.cfg: Improve is_filesystem_case_insensitive() to work ↵NAKAMURA Takumi2013-07-011-1/+5
| | | | | | | | | properly on cygwin. Cygwin does not accept the form /CYGDRIVE/X/PATH/TO/FILE against /cygdrive/X/PATH/TO/FILE. "cygdrive" must be lower-cased. llvm-svn: 185323
* llvm-symbolizer: Recognize a drive letter on win32. Then "REQUIRES: shell" ↵NAKAMURA Takumi2013-07-012-2/+5
| | | | | | | can be removed. FIXME: Could we use llvm::sys::Path here? llvm-svn: 185322
* Don't add an extra space before ellipsis after pointers.Daniel Jasper2013-07-012-2/+7
| | | | | | | | | | | Before (for styles where the pointer binds to the type): template <class... Ts> void Foo(Ts... ts) {} template <class... Ts> void Foo(Ts* ... ts) {} After: template <class... Ts> void Foo(Ts... ts) {} template <class... Ts> void Foo(Ts*... ts) {} llvm-svn: 185321
* Keep space between pointer and block comment.Daniel Jasper2013-07-012-1/+3
| | | | | | | | | | Before: void f(int */* unused */) {} After: void f(int * /* unused */) {} The previous version seems to be valid C++ code but confuses many syntax highlighters. llvm-svn: 185320
* Fix braced-list detection in lieu of trailing comments.Daniel Jasper2013-07-012-1/+7
| | | | | | | | | | Before: DoSomethingWithVector({ } /* No data */); After: DoSomethingWithVector({} /* No data */); llvm-svn: 185319
* [ASan] Add sanity test for asan_symbolize.py scriptAlexey Samsonov2013-07-013-0/+51
| | | | llvm-svn: 185318
* [sanitizer] Fix build with older kernels.Evgeniy Stepanov2013-07-011-0/+5
| | | | | | PTRACE_SETREGSET & PTRACE_GETREGSET may be missing from linux headers. llvm-svn: 185317
* Added the test missed from r185080.Serge Pavlov2013-07-011-0/+13
| | | | llvm-svn: 185316
* [ASan] Remove leading underscores from function names in output testsAlexey Samsonov2013-07-0116-31/+31
| | | | llvm-svn: 185315
* Hide mlock/munlock info message under verbosity flag.Alexey Samsonov2013-07-012-2/+4
| | | | llvm-svn: 185314
* Following the modification introduced in llvm by commit 185311Sylvestre Ledru2013-07-019-16/+24
| | | | | | | | | | | | | | | | | | The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD. This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16446. Patch by Robert Millan in the context of Debian. llvm-svn: 185313
* Following the modification introduced in llvm by commit 185311Sylvestre Ledru2013-07-011-2/+2
| | | | | | | | | | | | | | | | | | The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD. This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16445. Patch by Robert Millan in the context of Debian. llvm-svn: 185312
* The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.Sylvestre Ledru2013-07-015-9/+27
| | | | | | | | | | | | | | | | | This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16444. Patch by Robert Millan in the context of Debian. llvm-svn: 185311
OpenPOWER on IntegriCloud