- Jul 02, 2013
-
-
Michael Gottesman authored
llvm-svn: 185479
-
Ulrich Weigand authored
[PowerPC] PR16512 - Support TLS call sequences in the asm parser This patch now adds support for recognizing TLS call sequences in the asm parser. This needs a new pattern BL8_TLS, which is like BL8_NOP_TLS except without nop. That pattern is used for the asm parser only. llvm-svn: 185478
-
Ulrich Weigand authored
[PowerPC] Rework TLS call operand processing As part of the global-dynamic and local-dynamic TLS sequences, we need to use a special form of the call instruction: bl __tls_get_addr(sym@tlsld) bl __tls_get_addr(sym@tlsgd) which generates two fixups. The current implementation of this causes problems with recognizing this form in the asm parser. To fix this, this patch reworks operand processing for this special form by using a single operand to hold both __tls_get_addr and sym@tlsld and defining a print method to output the above form, and an encoding method to generate the two fixups. As a side simplification, the patch replaces the two instruction patterns BL8_NOP_TLSGD and BL8_NOP_TLSLD by a single BL8_NOP_TLS, since the patterns already operate in an identical fashion (whether we have a local-dynamic or global-dynamic symbol is already encoded in the symbol modifier). No change in code generation intended. llvm-svn: 185477
-
Ulrich Weigand authored
[PowerPC] Remove VK_PPC_TLSGD and VK_PPC_TLSLD The PowerPC-specific modifiers VK_PPC_TLSGD and VK_PPC_TLSLD correspond exactly to the generic modifiers VK_TLSGD and VK_TLSLD. This causes some confusion with the asm parser, since VK_PPC_TLSGD is output as @tlsgd, which is then read back in as VK_TLSGD. To avoid this confusion, this patch removes the PowerPC-specific modifiers and uses the generic modifiers throughout. (The only drawback is that the generic modifiers are printed in upper case while the usual convention on PowerPC is to use lower-case modifiers. But this is just a cosmetic issue.) llvm-svn: 185476
-
Benjamin Kramer authored
llvm-svn: 185475
-
Jim Ingham authored
ensure that the watchpoint not the step is reported as the stop reason. Also, stash away & restore the current stop reason just so it can't go away on us. llvm-svn: 185474
-
Richard Trieu authored
the test environment. llvm-svn: 185470
-
James Dennett authored
C++1y init-capture support, and to improve some Doxygen markup. llvm-svn: 185469
-
Marshall Clow authored
llvm-svn: 185468
-
Joerg Sonnenberger authored
llvm-svn: 185467
-
Ed Maste authored
llvm-svn: 185466
-
Jyotsna Verma authored
llvm-svn: 185465
-
Howard Hinnant authored
llvm-svn: 185464
-
Manman Ren authored
No functionality change. It should suffice to check the type of a debug info metadata, instead of calling Verify. llvm-svn: 185463
-
Howard Hinnant authored
llvm-svn: 185462
-
Ulrich Weigand authored
[PowerPC] Support TLS variables in debug info This adds an implementation of getDebugThreadLocalSymbol for (64-bit) PowerPC. This needs to return a generic MCExpr since on ppc64, we need to add a bias of 0x8000 to the value returned by the R_PPC64_DTPREL64 relocation. llvm-svn: 185461
-
Ulrich Weigand authored
[DebugInfo] Allow getDebugThreadLocalSymbol to return MCExpr This allows getDebugThreadLocalSymbol to return a generic MCExpr instead of just a 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: 185460
-
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
-