- Jul 01, 2013
-
-
Anton Korobeynikov authored
Patch by Job Noorman! llvm-svn: 185364
-
Cameron Zwarich authored
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
-
Anton Korobeynikov authored
Patch by Job Noorman! llvm-svn: 185362
-
Hal Finkel authored
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
-
Tim Northover authored
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
-
Matt Beaumont-Gay authored
(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
-
Jim Ingham authored
llvm-svn: 185357
-
Tim Northover authored
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
-
Manman Ren authored
No functionality change. Remove handling for the null case. llvm-svn: 185354
-
Ulrich Weigand authored
[PowerPC] Fix @got references to local symbols 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
-
Marshall Clow authored
llvm-svn: 185352
-
Ulrich Weigand authored
[PowerPC] Add "wait" instruction This adds the "wait" instruction and its extended mnemonics. llvm-svn: 185350
-
Ulrich Weigand authored
[PowerPC] Support "eieio" instruction This adds support for the "eieio" instruction to the asm parser. llvm-svn: 185349
-
Michael Gottesman authored
Added c++ mode selector to head of SelectionDAGBuilder.h so editors open it in c++ mode instead of c mode. llvm-svn: 185348
-
Ulrich Weigand authored
[PowerPC] Add some existing instructions to ppc64-encoding-bookII.s 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
-
Daniel Jasper authored
This lead to weird formatting. Before: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); After: DoSomethingWithVector({ {} /* No data */ }, { { 1, 2 } }); llvm-svn: 185346
-
Alexey Samsonov authored
llvm-svn: 185345
-
Ulrich Weigand authored
[PowerPC] Add variants of "sync" instruction This adds support for the "sync $L" instruction with operand, and provides aliases for "lwsync" and "ptesync". llvm-svn: 185344
-
Marshall Clow authored
llvm-svn: 185343
-
Alexey Samsonov authored
llvm-svn: 185342
-
Evgeniy Stepanov authored
llvm-svn: 185340
-
Tim Northover authored
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
-
Evgeniy Stepanov authored
llvm-svn: 185338
-
Alexander Kornienko authored
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
-
Justin Holewinski authored
Since we were explicitly not calling AsmPrinter::doInitialization, any module-scope inline asm was not being printed. llvm-svn: 185336
-
Justin Holewinski authored
llvm-svn: 185335
-
Justin Holewinski authored
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
-
Justin Holewinski authored
llvm-svn: 185333
-
Justin Holewinski authored
llvm-svn: 185332
-
Justin Holewinski authored
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
-
Justin Holewinski authored
llvm-svn: 185330
-
Justin Holewinski authored
llvm-svn: 185329
-
Justin Holewinski authored
llvm-svn: 185328
-
Daniel Jasper authored
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
-
Alexey Samsonov authored
llvm-svn: 185326
-
Alexander Potapenko authored
Patch by Jesse Ruderman<jruderman@gmail.com> llvm-svn: 185325
-
Sergey Matveev authored
llvm-svn: 185324
-
NAKAMURA Takumi authored
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
-
NAKAMURA Takumi authored
FIXME: Could we use llvm::sys::Path here? llvm-svn: 185322
-
Daniel Jasper authored
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
-