summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Ranges in the .debug_range section need to have begin and end labels,Eric Christopher2013-12-201-13/+8
| | | | | | assert that this is so. llvm-svn: 197780
* Makefile.unittest: cleanup may fail. Add '-' in the action.NAKAMURA Takumi2013-12-201-1/+1
| | | | llvm-svn: 197777
* Add support for a CU to output a set of ranges for the CU. This is usefulEric Christopher2013-12-203-20/+124
| | | | | | | | when you want to have the full list of addresses for a particular CU or when you have multiple modules linked together and can't depend upon the ordering of a single CU for begin/end ranges. llvm-svn: 197776
* Fixed the AST importer to ensure that base classesSean Callanan2013-12-202-0/+6
| | | | | | | | | | | | | of Objective-C classes are completed, and that variables of Objective-C types have their types completed when the variables are reported. This fixes a long-standing issue where ivars did not show up correctly on 32-bit OS X. <rdar://problem/12184093> llvm-svn: 197775
* Adjust to the new way LLVM emits modules: it doesn'tSean Callanan2013-12-202-20/+9
| | | | | | | | specify a pointer size until code gen. So we just make all our pointer-sized integer literals 64-bit. That doesn't seem to hurt anything. llvm-svn: 197774
* Remove the AnyPointerSize and AnyEndianness enumerators, which were left fromDmitri Gribenko2013-12-201-2/+2
| | | | | | LLVM's early days. Today LLVM IR is always target-specific. llvm-svn: 197772
* When parsing data layout string looking for endianness, use the correct defaultDmitri Gribenko2013-12-201-1/+1
| | | | llvm-svn: 197771
* Correctly apply the default pointer sizeDmitri Gribenko2013-12-201-1/+1
| | | | llvm-svn: 197770
* Implement trunc builtin.Tom Stellard2013-12-202-0/+10
| | | | | | | | | | | | OpenCL C lang says that trunc rounds towards zero. llvm.trunc.* intrinsic rounds to integer not larger in magnitude. These definitions are equivalent. Patch by: Jan Vesely Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 197769
* [x86] Rename In32BitMode predicate to Not64BitModeEric Christopher2013-12-2011-137/+138
| | | | | | | | | | | 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
* [analyzer] Use DataRecursiveASTVisitor for the AnalysisConsumer.Argyrios Kyrtzidis2013-12-201-2/+2
| | | | llvm-svn: 197767
* Move tools/libclang/RecursiveASTVisitor.h -> ↵Argyrios Kyrtzidis2013-12-203-57/+55
| | | | | | | | include/clang/AST/DataRecursiveASTVisitor.h This is to make it available so the static analyzer can use it. llvm-svn: 197766
* [libclang/python] Add CompilationDatabase.getAllCompileCommands to the ↵Argyrios Kyrtzidis2013-12-202-0/+34
| | | | | | | | python bindings. Patch by Laszlo Nagy! llvm-svn: 197765
* Serialize source range info for TypeTraitExpr.Jordan Rose2013-12-202-1/+5
| | | | | | | | | 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
* www: Name the tiling scheme in the headerTobias Grosser2013-12-202-1/+22
| | | | llvm-svn: 197763
* Correctly compute the size in bytes of PreambleFileHash.MD5Dmitri Gribenko2013-12-201-2/+2
| | | | llvm-svn: 197762
* Partially revert a patch from Ashok Thirumurthi in r191430.Jason Molenda2013-12-202-0/+41
| | | | | | | | | | | 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
* www: No need to mention Polly in each subtitleTobias Grosser2013-12-2013-15/+18
| | | | llvm-svn: 197760
* move test back into the parent directory and add a REQUIRES: obj emission.Adrian Prantl2013-12-201-4/+1
| | | | llvm-svn: 197759
* Makefile.ocaml: Tweak to use --system-libs.NAKAMURA Takumi2013-12-201-1/+1
| | | | llvm-svn: 197758
* Fix documentation typosAlp Toker2013-12-2010-14/+14
| | | | llvm-svn: 197757
* Add a test I forgot to svn add in r197755Dmitri Gribenko2013-12-204-0/+23
| | | | llvm-svn: 197756
* ASTUnit::getMainBufferWithPrecompiledPreamble: use MD5 hash of the remappedDmitri Gribenko2013-12-202-14/+81
| | | | | | | | | | | 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
* Fix the build by adding back a comma...Joey Gouly2013-12-201-1/+1
| | | | llvm-svn: 197754
* Fix some typos of 'extension'.Joey Gouly2013-12-191-2/+2
| | | | llvm-svn: 197753
* www: Highlight title, add subtitleTobias Grosser2013-12-193-2/+50
| | | | llvm-svn: 197752
* Make SimpleFileNode inherit from FileNode.Joey Gouly2013-12-193-48/+4
| | | | | | This removes a lot of duplicated code. llvm-svn: 197751
* Update the ML test to expect the new string format of getStringRepresentation.Rafael Espindola2013-12-191-3/+1
| | | | llvm-svn: 197750
* Simplify codeDmitri Gribenko2013-12-191-1/+1
| | | | llvm-svn: 197748
* www: Mark more items doneTobias Grosser2013-12-191-2/+2
| | | | llvm-svn: 197747
* www: We already integrated the isl code generatorTobias Grosser2013-12-191-1/+1
| | | | llvm-svn: 197746
* www: Use red for visited linksTobias Grosser2013-12-191-0/+3
| | | | llvm-svn: 197745
* Un-revert: the buildbot failure in LLVM on lld-x86_64-win7 had me withKevin Enderby2013-12-192-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use $ORIGIN when setting rpath.Rafael Espindola2013-12-191-0/+2
| | | | | | | | | | This matches what the configure build does. Patch by Jan Vesely. Fixes pr14189. llvm-svn: 197743
* [analyzer] Fix test in previous commit to account for compiler warning.Jordan Rose2013-12-191-2/+6
| | | | | | --analyze passes -w, but -cc1 -analyze doesn't. Oops! llvm-svn: 197741
* Change getStringRepresentation to skip defaults.Rafael Espindola2013-12-191-17/+45
| | | | | | | | | | 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
* www: Add faviconTobias Grosser2013-12-191-0/+0
| | | | llvm-svn: 197739
* www: Add nice headerTobias Grosser2013-12-1919-10/+67
| | | | llvm-svn: 197738
* [lld] fix unused variable warningsNick Kledzik2013-12-195-12/+4
| | | | llvm-svn: 197737
* Wordsmith "maybe" into "may be" in diagnostic, and move warning under flag.Ted Kremenek2013-12-195-15/+16
| | | | llvm-svn: 197736
* Ensure deterministic when printing ARM assembler constant poolsDavid Peixotto2013-12-191-12/+24
| | | | | | | | | | | | | | | | 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
* [lld] fix build when LLVM_HAS_VARIADIC_TEMPLATES is falseNick Kledzik2013-12-191-0/+9
| | | | llvm-svn: 197734
* [analyzer] Always use 'bool' as the SValBuilder condition type in C++.Jordan Rose2013-12-193-2/+9
| | | | | | | | | 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
* [lld] fix unused variable warning in non-debug buildsNick Kledzik2013-12-192-7/+11
| | | | llvm-svn: 197732
* Revert my change to the X86 assembler for intel syntax to work withKevin Enderby2013-12-192-50/+2
| | | | | | directional labels. Because it doesn't work for windows :) llvm-svn: 197731
* Remove dead code identified by Aaron Ballman.Ted Kremenek2013-12-191-4/+0
| | | | llvm-svn: 197730
* After discussing with John McCall, removing the ns_bridged attribute as it ↵Aaron Ballman2013-12-194-52/+0
| | | | | | is unused. llvm-svn: 197729
* Changed the X86 assembler for intel syntax to work with directional labels.Kevin Enderby2013-12-192-2/+50
| | | | | | | | | | | | | | | | | | | | | | | 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
* [lld] Introduce registry and Reference kind tupleNick Kledzik2013-12-1993-1858/+2120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove redundant 'classof' functions.Joey Gouly2013-12-194-28/+0
| | | | llvm-svn: 197726
OpenPOWER on IntegriCloud