- Dec 20, 2013
-
-
Eric Christopher authored
That's what it actually means, and with 16-bit support it's going to be a little more relevant since in a few corner cases we may actually want to distinguish between 16-bit and 32-bit mode (for example the bare 'push' aliases to pushw/pushl etc.) Patch by David Woodhouse llvm-svn: 197768
-
Argyrios Kyrtzidis authored
llvm-svn: 197767
-
Argyrios Kyrtzidis authored
This is to make it available so the static analyzer can use it. llvm-svn: 197766
-
Argyrios Kyrtzidis authored
Patch by Laszlo Nagy! llvm-svn: 197765
-
Jordan Rose authored
This caused some crazy crashes involving std::unordered_map being deserialized from a PCH file and then template instantiation requiring an explicit instantiation location; unfortunately I don't really know how to come up with a minimal test case. llvm-svn: 197764
-
Tobias Grosser authored
llvm-svn: 197763
-
Dmitri Gribenko authored
llvm-svn: 197762
-
Jason Molenda authored
The original code was not completely correct, but a form of this check is necessary to avoid an infinite recursion on some unwind cases where a function unwinds to itself with the same CFA. Ashok thought the recursion would be caught in RegisterContextLLDB but this one isn't - we still need it here. <rdar://problem/15664282> llvm-svn: 197761
-
Tobias Grosser authored
llvm-svn: 197760
-
Adrian Prantl authored
llvm-svn: 197759
-
NAKAMURA Takumi authored
llvm-svn: 197758
-
Alp Toker authored
llvm-svn: 197757
-
Dmitri Gribenko authored
llvm-svn: 197756
-
Dmitri Gribenko authored
files to tell if they were changed since the last time we have computed the preamble We used to check only the buffer size, so if the new remapped buffer has the same size as the previous one, we would think that the buffer did not change, and we did not rebuild the preambule, which sometimes caused us to crash. llvm-svn: 197755
-
Joey Gouly authored
llvm-svn: 197754
-
Joey Gouly authored
llvm-svn: 197753
-
Tobias Grosser authored
llvm-svn: 197752
-
Joey Gouly authored
This removes a lot of duplicated code. llvm-svn: 197751
-
Rafael Espindola authored
llvm-svn: 197750
-
Dmitri Gribenko authored
llvm-svn: 197748
-
Tobias Grosser authored
llvm-svn: 197747
-
Tobias Grosser authored
llvm-svn: 197746
-
Tobias Grosser authored
llvm-svn: 197745
-
Kevin Enderby authored
this commit as the only one on the Blamelist so I quickly reverted this. However it was actually Nick's change who has since fixed that issue. Original commit message: Changed the X86 assembler for intel syntax to work with directional labels. The X86 assembler as a separate code to parser the intel assembly syntax in X86AsmParser::ParseIntelOperand(). This did not parse directional labels. And if something like 1f was used as a branch target it would get an "Unexpected token" error. The fix starts in X86AsmParser::ParseIntelExpression() in the case for AsmToken::Integer, it needs to grab the IntVal from the current token then look for a 'b' or 'f' following an Integer. Then it basically needs to do what is done in AsmParser::parsePrimaryExpr() for directional labels. It saves the MCExpr it creates in the IntelExprStateMachine in the Sym field. When it returns to X86AsmParser::ParseIntelOperand() it looks for a non-zero Sym field in the IntelExprStateMachine and if set it creates a memory operand not an immediate operand it would normally do for the Integer. rdar://14961158 llvm-svn: 197744
-
Rafael Espindola authored
This matches what the configure build does. Patch by Jan Vesely. Fixes pr14189. llvm-svn: 197743
-
Jordan Rose authored
--analyze passes -w, but -cc1 -analyze doesn't. Oops! llvm-svn: 197741
-
Rafael Espindola authored
I have a pending change for clang to use getStringRepresentation to check that its DataLayout is in sync with llvm's. getStringRepresentation is not called from llvm itself, so far it is mostly a debugging aid, so the shorter strings are an independent improvement. llvm-svn: 197740
-
- Dec 19, 2013
-
-
Tobias Grosser authored
llvm-svn: 197739
-
Tobias Grosser authored
llvm-svn: 197738
-
Nick Kledzik authored
llvm-svn: 197737
-
Ted Kremenek authored
llvm-svn: 197736
-
David Peixotto authored
We dump any non-empty assembler constant pools after a successful parse of an assembly file that uses the ldr pseudo opcode. These per-section constant pools should be output in a deterministic order to ensure that we always generate the same output when printing the output with an AsmStreamer. This patch changes the map data struture used to associate a section with its constant pool to a MapVector to ensure deterministic output. Because this map type does not support deletion, we now check that the constant pool is not empty before dumping its entries and clear the entries after emitting them with the streamer. llvm-svn: 197735
-
Nick Kledzik authored
llvm-svn: 197734
-
Jordan Rose authored
We have assertions for this, but a few edge cases had snuck through where we were still unconditionally using 'int'. <rdar://problem/15703011> llvm-svn: 197733
-
Nick Kledzik authored
llvm-svn: 197732
-
Kevin Enderby authored
directional labels. Because it doesn't work for windows :) llvm-svn: 197731
-
Ted Kremenek authored
llvm-svn: 197730
-
Aaron Ballman authored
llvm-svn: 197729
-
Kevin Enderby authored
The X86 assembler has a separate code to parser the intel assembly syntax in X86AsmParser::ParseIntelOperand(). This did not parse directional labels. And if something like 1f was used as a branch target it would get an "Unexpected token" error. The fix starts in X86AsmParser::ParseIntelExpression() in the case for AsmToken::Integer, it needs to grab the IntVal from the current token then look for a 'b' or 'f' following the Integer. Then it basically needs to do what is done in AsmParser::parsePrimaryExpr() for directional labels. It saves the MCExpr it creates in the IntelExprStateMachine in the Sym field. When it returns to X86AsmParser::ParseIntelOperand() it looks for a non-zero Sym field in the IntelExprStateMachine and if set it creates a memory operand not an immediate operand it would normally do for the Integer. rdar://14961158 llvm-svn: 197728
-
Nick Kledzik authored
The main changes are in: include/lld/Core/Reference.h include/lld/ReaderWriter/Reader.h Everything else is details to support the main change. 1) Registration based Readers Previously, lld had a tangled interdependency with all the Readers. It would have been impossible to make a streamlined linker (say for a JIT) which just supported one file format and one architecture (no yaml, no archives, etc). The old model also required a LinkingContext to read an object file, which would have made .o inspection tools awkward. The new model is that there is a global Registry object. You programmatically register the Readers you want with the registry object. Whenever you need to read/parse a file, you ask the registry to do it, and the registry tries each registered reader. For ease of use with the existing lld code base, there is one Registry object inside the LinkingContext object. 2) Changing kind value to be a tuple Beside Readers, the registry also keeps track of the mapping for Reference Kind values to and from strings. Along with that, this patch also fixes an ambiguity with the previous Reference::Kind values. The problem was that we wanted to reuse existing relocation type values as Reference::Kind values. But then how can the YAML write know how to convert a value to a string? The fix is to change the 32-bit Reference::Kind into a tuple with an 8-bit namespace (e.g. ELF, COFFF, etc), an 8-bit architecture (e.g. x86_64, PowerPC, etc), and a 16-bit value. This tuple system allows conversion to and from strings with no ambiguities. llvm-svn: 197727
-