- Jul 02, 2013
-
-
Ulrich Weigand authored
[DebugInfo] Hold generic MCExpr in AddrPool This changes the AddrPool infrastructure to enable it to hold generic MCExpr expressions, not just MCSymbolRefExpr. This is in preparation for supporting debug info for TLS variables on PowerPC, where we need to describe the variable location using a more complex expression than just MCSymbolRefExpr. llvm-svn: 185459
-
Ulrich Weigand authored
[DebugInfo] Introduce DIEExpr variant of DIEValue to hold MCExpr values This partially reverts r185202 and restores DIELabel to hold plain MCSymbol references. Instead, we add a new subclass DIEExpr of DIEValue that can hold generic MCExpr references. This is in preparation for supporting debug info for TLS variables on PowerPC, where we need to describe the variable location using a more complex expression than just MCSymbolRefExpr. llvm-svn: 185458
-
Howard Hinnant authored
implementation and all of the char buffers readily have their allocated size available, so we can easily use snprintf_l instead of sprintf_l. This avoids OpenBSD's linker warnings against using sprintf and vsprintf. Howard: Please consider a patch for CREDITS.TXT llvm-svn: 185457
-
Manman Ren authored
llvm-svn: 185456
-
Michael Sartain authored
llvm-svn: 185455
-
Reid Kleckner authored
Unlike Itanium, there is no code to indicate the beginning of a parameter pack. I tested this with MSVC 2013, which is the only version that implements variadic templates so far. This is needed to compile APInt.cpp for the MS C++ ABI. Reviewers: timurrrr Differential Revision: http://llvm-reviews.chandlerc.com/D1077 llvm-svn: 185454
-
Richard Smith authored
llvm-svn: 185453
-
Howard Hinnant authored
llvm-svn: 185452
-
Howard Hinnant authored
llvm-svn: 185451
-
Eli Friedman authored
Make sure we properly treat names defined inside a block as local names. There are basically three fixes here. One, correctly treat blocks as a context where we need to use local-name mangling using the new isLocalContainerContext helper. Two, make CXXNameMangler::manglePrefix handle local names in a consistent way. Three, extend CXXNameMangler::mangleLocalName so it can mangle a block correctly. llvm-svn: 185450
-
Howard Hinnant authored
Bill Fisher: This patch fixes a bug where the regex parser doesn't advance the pointer after reading the third character of an octal escape (in awk mode). That is, regex{"\141", awk} results in the regular expression /a1/ instead of just /a/. llvm-svn: 185449
-
Daniel Malea authored
- should resolve the build failures on the linux clang buildbot llvm-svn: 185448
-
Jakob Stoklund Olesen authored
"Remove floating point computations form SpillPlacement.cpp." These commits caused test failures in lencod on clang-native-arm-lnt. I suspect these changes are only exposing an existing issue, but reverting anyway to keep the bots passing while we investigate. llvm-svn: 185447
-
Serge Pavlov authored
llvm-svn: 185446
-
Benjamin Kramer authored
llvm-svn: 185445
-
Jordan Rose authored
While we don't model pointers-to-members besides "null" and "non-null", we were using Loc symbols for valid pointers and NonLoc integers for the null case. This hit the assert committed in r185401. Fixed by using a true (Loc) null for null member pointers. llvm-svn: 185444
-
David Blaikie authored
llvm-svn: 185443
-
Ed Maste authored
* Use PseudoTerminal to fix stdio handling / passthrough to the inferior process. * Add log messages equivalent to the Linux ones. * Port changes relating to process creation / termination. This revision contains changes equivalent to (parts of) SVN revisions 109318 142384 166055 168503 169645 177116 182809. llvm-svn: 185442
-
Ed Maste authored
llvm-svn: 185441
-
Tobias Grosser authored
llvm-svn: 185440
-
Andy Gibbs authored
llvm-svn: 185439
-
Timur Iskhodzhanov authored
llvm-svn: 185438
-
Michael Gottesman authored
Originally if D.firstSigDigit == str.end(), we will have already dereferenced D.firstSigDigit in the first predicate. llvm-svn: 185437
-
Rafael Espindola authored
This is dead code since PIC16 was removed in 2010. The result was an odd mix, where some parts would carefully pass it along and others would assert it was zero (most of the object streamer for example). llvm-svn: 185436
-
Richard Sandiford authored
Fixes some cases where we were using full 64-bit division for (sdiv i32, i32) and (sdiv i64, i32). The "32" in "SDIVREM32" just refers to the second operand. The first operand of all *DIVREM*s is a GR128. llvm-svn: 185435
-
Richard Sandiford authored
Try to use MVC when spilling the destination of a simple load or the source of a simple store. As explained in the comment, this doesn't yet handle the case where the load or store location is also a frame index, since that could lead to two simultaneous scavenger spills, something the backend can't handle yet. spill-02.py tests that this restriction kicks in, but unfortunately I've not yet found a case that would fail without it. The volatile trick I used for other scavenger tests doesn't work here because we can't use MVC for volatile accesses anyway. I'm planning on relaxing the restriction later, hopefully with a test that does trigger the problem... Tests @f8 and @f9 also showed that L(G)RL and ST(G)RL were wrongly classified as SimpleBDX{Load,Store}. It wouldn't be easy to test for that bug separately, which is why I didn't split out the fix as a separate patch. llvm-svn: 185434
-
Richard Sandiford authored
This is the first use of D(L,B) addressing, which required a fair bit of surgery. For that reason, the patch just adds the instruction definition and the associated assembler and disassembler support. A later patch will actually make use of it for codegen. llvm-svn: 185433
-
Evgeniy Stepanov authored
llvm-svn: 185432
-
Evgeniy Stepanov authored
llvm-svn: 185431
-
Richard Osborne authored
r182680 replaced CountLeadingZeros_32 with a template function countLeadingZeros that relies on using the correct argument type to give the right result. The type passed in the XCore backend after this revision was incorrect in a couple of places. Patch by Robert Lytton. llvm-svn: 185430
-
Tobias Grosser authored
llvm-svn: 185429
-
Evgeniy Stepanov authored
llvm-svn: 185428
-
Ed Maste authored
llvm-svn: 185425
-
Evgeniy Stepanov authored
Move getcwd to common interceptors. llvm-svn: 185424
-
Daniel Jasper authored
Before, the computed byte range would include the trailing newline. clang-format on the other hand counts whitespace as belonging to the following token, so that git-clang-format inadvertendly reformats the first unmodified line as well. It is not entirely clear whether clang-format's behavior itself should be modified, but for now this seems to be a safe change. llvm-svn: 185423
-
Logan Chien authored
According to ARM EHABI section 9.2, if the __aeabi_unwind_cpp_pr1() or __aeabi_unwind_cpp_pr2() is used, then the handler data must be emitted after the unwind opcodes. The handler data consists of several words, and should be terminated by zero. In case that the .handlerdata directive is not specified by the programmer, we should emit zero to terminate the handler data. llvm-svn: 185422
-
Elena Demikhovsky authored
llvm-svn: 185421
-
Rui Ueyama authored
llvm-svn: 185420
-
Tim Northover authored
DAGCombiner was counting all uses of a load node when considering whether it's worth combining into a zextload. Really, it wants to ignore the chain and just count real uses. rdar://problem/13896307 llvm-svn: 185419
-
Daniel Jasper authored
Before (exceeding the column limit): LoooooooooooooooooooooooooooooooooooooooongType const LoooooooooooooooooooooooooooooooooooooooongVariable; After: LoooooooooooooooooooooooooooooooooooooooongType const LoooooooooooooooooooooooooooooooooooooooongVariable; llvm-svn: 185418
-