- May 12, 2010
-
-
Daniel Dunbar authored
- This provides a convenient alternative to using something llvm::prior or manual iterator access, for example:: if (T *Prev = foo->getPrevNode()) ... instead of:: iterator it(foo); if (it != begin()) { --it; ... } - Chris, please review. llvm-svn: 103647
-
Howard Hinnant authored
llvm-svn: 103646
-
Evan Cheng authored
llvm-svn: 103642
-
Jakob Stoklund Olesen authored
The X86 floating point stack pass and others depend on good kill flags. llvm-svn: 103635
-
Devang Patel authored
llvm-svn: 103634
-
Daniel Dunbar authored
Driver/Darwin/i386: Don't allow compiling C++ with -fapple-kext, we don't support the necessary ABI yet. llvm-svn: 103632
-
Daniel Dunbar authored
llvm-svn: 103631
-
Fariborz Jahanian authored
another. llvm-svn: 103630
-
Daniel Dunbar authored
llvm-svn: 103627
-
Daniel Dunbar authored
llvm-svn: 103626
-
Daniel Dunbar authored
foo. llvm-svn: 103625
-
Douglas Gregor authored
potentially-evaluated expression context, to ensure that used declarations get properly marked. Fixes PR7123. llvm-svn: 103624
-
Howard Hinnant authored
llvm-svn: 103621
-
Douglas Gregor authored
member function (default constructor, copy constructor, copy assignment operator, destructor), emit a note showing where that implicit definition was required. llvm-svn: 103619
-
Daniel Dunbar authored
llvm-svn: 103616
-
Daniel Dunbar authored
llvm-svn: 103615
-
Daniel Dunbar authored
llvm-svn: 103614
-
Howard Hinnant authored
llvm-svn: 103612
-
Howard Hinnant authored
llvm-svn: 103611
-
Nathan Jeffords authored
Made a stylistic changed to the code/comments related to the unsupported COMDAT selection type IMAGE_COMDAT_SELECT_LARGEST based on from Anton Korobeynikov. llvm-svn: 103590
-
Ted Kremenek authored
llvm-svn: 103588
-
Ted Kremenek authored
llvm-svn: 103587
-
Duncan Sands authored
llvm-svn: 103586
-
Ted Kremenek authored
many things. llvm-svn: 103583
-
Ted Kremenek authored
llvm-svn: 103582
-
Ted Kremenek authored
Correctly check if a cursor is a declaration before returning its location/range in clang_getCursorLocation()/clang_getCursorExtent(). This fixes a horrible bug reported in <rdar://problem/7961995> and <rdar://problem/7967123> where declarations with attributes would get grossly annotated with the wrong tokens because the attribute would be interpreted as if it was a Decl*. llvm-svn: 103581
-
Ted Kremenek authored
llvm-svn: 103578
-
Ted Kremenek authored
when annotating tokens. Fixes <rdar://problem/7971430>. llvm-svn: 103577
-
Rafael Espindola authored
llvm-svn: 103576
-
Dale Johannesen authored
llvm-svn: 103574
-
Nathan Jeffords authored
Now, the .linkonce directive is emitted as part of MCSectionCOFF::PrintSwitchToSection instead of AsmPrinter::EmitLinkage since it is an attribute of the section the symbol was placed into not the symbol itself. llvm-svn: 103568
-
Chris Lattner authored
llvm-svn: 103566
-
John McCall authored
a convenience routine to find the innermost common ancestor of two scopes. llvm-svn: 103565
-
Evan Cheng authored
v1024 = REG_SEQUENCE ... v1025 = EXTRACT_SUBREG v1024, 5 v1026 = EXTRACR_SUBREG v1024, 6 = VSTxx <addr>, v1025, v1026 The REG_SEQUENCE ensures the sources that feed into the VST instruction are getting the right register allocation so they form a large super- register. The extract_subreg will be coalesced away all would just work: v1024 = REG_SEQUENCE ... = VSTxx <addr>, v1024:5, v1024:6 The problem is if the coalescer isn't run, the extract_subreg instructions would stick around and there is no assurance v1025 and v1026 will get the right registers. As a short term workaround, teach the NEON pre-allocation pass to transfer the sub-register indices over. An alternative would be do it 2addr pass when reg_sequence's are eliminated. But that *seems* wrong and require updating liveness information. Another alternative is to do this in the scheduler when the instructions are created. But that would mean somehow the scheduler this has to be done for correctness reason. That's yucky as well. So for now, we are leaving this in the target specific pass. llvm-svn: 103540
-
Evan Cheng authored
llvm-svn: 103539
-
Evan Cheng authored
llvm-svn: 103538
-
John McCall authored
the test suite after modifying this diagnostic. llvm-svn: 103537
-
John McCall authored
about the permitted scopes. Specifically: 1) Permit labels and gotos to appear after a prologue of variable initializations. 2) Permit indirect gotos to jump out of scopes that don't require cleanup. 3) Diagnose possible attempts to indirect-jump out of scopes that do require cleanup. This requires a substantial reinvention of the algorithm for checking indirect goto. The current algorithm is Omega(M*N), with M = the number of unique scopes being jumped from and N = the number of unique scopes being jumped to, with an additional factor that is probably (worst-case) linear in the depth of scopes. Thus the entire thing is likely cubic given some truly bizarre ill-formed code; on well-formed code the additional factor collapses to an amortized constant (when amortized over the entire function) and so the algorithm is quadratic. Even this requires every label to appear in its own scope, which would be very unusual for indirect-goto code (and extremely unlikely for well-formed code); it is far more likely that all labels will be in the same scope and so the algorithm becomes linear. For such a marginal feature, I am fairly happy with this result. (this is using JumpDiagnostic's definition of scope, where successive variables in a block appear in their own scope) llvm-svn: 103536
-
Daniel Dunbar authored
llvm-svn: 103535
-
Nathan Jeffords authored
Added a trivial function to modify the flags field of MCSymbolData class. The function takes the value and a mask, and clears the mask bits before applying the value. llvm-svn: 103534
-