summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [CMake] LLVMProcessSources.cmake: Prune add_file_dependencies to ↵NAKAMURA Takumi2014-02-101-8/+0
| | | | | | | | | ${TABLEGEN_OUTPUT}. I am sure it'd not be required any more. In trunk, all of tablegen's users depend on ${TABLEGEN_OUTPUT} as not file dependency but inter-target dependency. llvm-svn: 201063
* [CMake] Re-apply r200765, "Get rid of llvm_config() to expand dependencies."NAKAMURA Takumi2014-02-101-7/+1
| | | | | | | | CMake's target_link_libraries() will manage dependencies with Brad's LLVMConfig improvements. Configuration time may be reduced by a few seconds. llvm-svn: 201062
* [AArch64]Implement the copy of two FPR8 registers by using FMOVss of two ↵Hao Liu2014-02-102-0/+23
| | | | | | FPR32 registers in copyPhysReg. llvm-svn: 201061
* Simplify a bunch of code by removing the need for the x86 disassembler table ↵Craig Topper2014-02-101-301/+36
| | | | | | builder to know about extended opcodes. The modrm forms are sufficient to convey the information. llvm-svn: 201060
* Add MRMXr/MRMXm form to X86 for use by instructions which treat the 'reg' ↵Craig Topper2014-02-108-11/+35
| | | | | | field of modrm byte as a don't care value. Will allow for simplification of disassembler code. llvm-svn: 201059
* MCParser: add a single token lookaheadSaleem Abdulrasool2014-02-093-0/+27
| | | | | | | Some of the more complex directive and macro handling for GAS compatibility requires lookahead. Add a single token lookahead in the MCAsmLexer. llvm-svn: 201058
* Remove shell comment in the middle of a single-line command.Bob Wilson2014-02-091-2/+0
| | | | | | | You can't put a comment in the middle of a command like this. This is invalid shell syntax and breaks the build. llvm-svn: 201057
* AsmParser: Simplify code with ArrayRef.Benjamin Kramer2014-02-091-32/+12
| | | | | | No functionality change. llvm-svn: 201055
* Whitespace.NAKAMURA Takumi2014-02-091-4/+4
| | | | llvm-svn: 201054
* Provide CMake package modules in install treeNAKAMURA Takumi2014-02-095-7/+173
| | | | | | | | | | | | | | | | | | | | | | Teach the Makefile build system to generate and install CMake modules LLVMConfig.cmake and LLVMConfigVersion.cmake so that applications that build with CMake can use 'find_package(LLVM)' even when LLVM is not built with CMake. These modules tell such applications about available LLVM libraries and their dependencies. Run llvm-config to generate the list of libraries and use the results of llvm-build to generate the library dependencies. Use sed to perform substitutions in the LLVMConfig.cmake.in and LLVMConfigVersion.cmake.in sources that our CMake build system uses. Teach the Makefile build system to generate the LLVMExports.cmake file with content similar to that produced by the CMake install(EXPORT) command. Extend llvm-build with an option to generate the library dependencies fragment for this file. Contributed by Brad King. llvm-svn: 201053
* Add version, arch, system libs, and targets to Makefile.configNAKAMURA Takumi2014-02-094-20/+100
| | | | | | | | | | Teach autoconf/configure.ac to AC_SUBST several additional values in Makefile.config to make them available to Makefile code. These will be useful to generate CMake package modules from the Makefile build. Contributed by Brad King. llvm-svn: 201052
* Load exported lib and exe targets from LLVMConfigNAKAMURA Takumi2014-02-092-0/+6
| | | | | | | | | | | | | Teach each package configuration file to load the LLVMExports file for its corresponding tree. This will allow application CMake code to use logical library and executable target names from LLVM as if they were in our own build process (e.g. LLVMSupport). CMake will have enough information to propagate LLVM library link dependencies automatically while configuring applications. Contributed by Brad King. llvm-svn: 201051
* Export lib and exe build target names from build treeNAKAMURA Takumi2014-02-093-0/+10
| | | | | | | | | | | | | | | Record every logical target that we install with install(TARGETS) in a global LLVM_EXPORTS property. Then use the export(TARGETS) command to provide a "LLVMExports.cmake" file that exports logical targets for import into applications directly from our build tree. The "LLVMExports.cmake" file is not meant for direct inclusion by application code but should be included by "LLVMConfig.cmake" in a future change. Contributed by Brad King. llvm-svn: 201050
* Export lib and exe build target names from install treeNAKAMURA Takumi2014-02-093-2/+10
| | | | | | | | | | | | | | | Use the install(TARGETS) command EXPORT option for every library and executable that we install with LLVM. Then use the install(EXPORT) command to provide a "LLVMExports.cmake" file that exports logical targets for import into applications from our install tree. The "LLVMExports.cmake" file is not meant for direct inclusion by application code but should be included by "LLVMConfig.cmake" in a future change. Contributed by Brad King. llvm-svn: 201049
* Provide LLVMConfig in both build and install treeNAKAMURA Takumi2014-02-092-8/+45
| | | | | | | | | | | | | | | | | | Create separate package configuration files "LLVMConfig.cmake" for the LLVM build and install trees so that each can have information specific to its tree. Configure each with the corresponding include, lib, and cmake directories. Include the "LLVM-Config" API modules directly from the configured cmake modules directory. In the install tree, compute the installation prefix relative to the file location. In the build tree, provide information specific to the build tree for use by tools like Clang that can build externally against the LLVM build tree. Prefix such values in "LLVM_BUILD_" and comment them as such. Contributed by Brad King. llvm-svn: 201048
* Teach LLVMConfig to avoid modifying CMAKE_MODULE_PATHNAKAMURA Takumi2014-02-092-13/+13
| | | | | | | | | | | | Do not modify this value on the application's behalf and just ensure API modules are always available next to the LLVMConfig module. This is already the case in the install tree so use file(COPY) to make it so in the build tree. Include the LLVM-Config API module from next to the LLVMConfig location. Contributed by Brad King. llvm-svn: 201047
* De-duplicate references to share/llvm/cmake pathNAKAMURA Takumi2014-02-091-3/+4
| | | | | | | | | Use a LLVM_INSTALL_PACKAGE_DIR variable to hold the path and reference it where necessary. Contributed by Brad King. llvm-svn: 201046
* AsmParser: Parse (and ignore) nested .macro definitions.Benjamin Kramer2014-02-092-9/+40
| | | | | | | | | This enables a slightly odd feature of gas. The macro is defined when the outermost macro is instantiated. PR18599 llvm-svn: 201045
* Use a consistent argument order in TargetLoweringObjectFile.Rafael Espindola2014-02-0912-78/+72
| | | | | | | | | These methods normally call each other and it is really annoying if the arguments are in different order. The more common rule was that the arguments specific to call are first (GV, Encoding, Suffix) and the auxiliary objects (Mang, TM) come after. This patch changes the exceptions. llvm-svn: 201044
* Fix formatting introduced in r200941David Blaikie2014-02-093-2/+15
| | | | llvm-svn: 201043
* Remove unnecessary include.Craig Topper2014-02-093-3/+0
| | | | llvm-svn: 201041
* Remove some unnecessary code. The conditions it was checking had already ↵Craig Topper2014-02-091-7/+0
| | | | | | been ruled out by the caller. llvm-svn: 201039
* tools: cast the right operandSaleem Abdulrasool2014-02-091-1/+1
| | | | | | Properly apply the fix intended by SVN r201032. llvm-svn: 201036
* [docs] [tblgen] clarify that code fragments are just string literalsSean Silva2014-02-091-1/+1
| | | | | | | | Fun fact: looking at the TableGen code (around TGParser.cpp:1166), the only difference in handling is that adjacent regular string literals are concatenated in the parser. llvm-svn: 201035
* [docs] [tblgen] There is no "code" type.Sean Silva2014-02-091-5/+0
| | | | | | Code fragments are just fancy string literals. llvm-svn: 201034
* [docs] TableGen easter egg: Multiline string literalsSean Silva2014-02-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | They're called code fragments, but they are really multiline string literals. Just spotted this usage in a patch by Aaron using "code fragments" for holding documentation text. I remember someone bemoaning the lack of multiline string literals in TableGen, so I'm explicitly documenting that code fragments are multiline string literals. Let it be known that any use case needing multiline string literals in TableGen (such as descriptions of options, or whatnot) can use use code fragments (instead of C-style string concatenation or exceedingly long lines). E.g. class Bar<int n>; class Baz<int n>; class Doc<string desc> { string Desc = desc; } def Foo : Bar<1>, Baz<3>, Doc<[{ This Foo is a Bar, and also a Baz. It can take 3 values: * Qux * Quux * Quuux }]>; llvm-svn: 201033
* tools: explicitly cast to avoid a warningSaleem Abdulrasool2014-02-091-1/+1
| | | | llvm-svn: 201032
* tools: handle out-of-line personality 0 decodingSaleem Abdulrasool2014-02-081-1/+1
| | | | | | | | In some cases it is possible to have a personality 0 unwinding opcodes in the extab (such as when .handlerdata is used in the assembly). Simply decode the 3 opcodes for that case. llvm-svn: 201030
* ARM: change attribute tests to use parsed formSaleem Abdulrasool2014-02-0828-525/+640
| | | | | | | | | This makes the tests more readable by using the -arm-attributes decoding support in llvm-readobj since that is now available. Change the invocation commands to be similar to other test and use a more precise triple (the tests only require ARM EABI support). llvm-svn: 201029
* LoopVectorizer: Keep track of conditional store basic blocksArnold Schwaighofer2014-02-082-0/+44
| | | | | | | | | | | | | Before conditional store vectorization/unrolling we had only one vectorized/unrolled basic block. After adding support for conditional store vectorization this will not only be one block but multiple basic blocks. The last block would have the back-edge. I updated the code to use a vector of basic blocks instead of a single basic block and fixed the users to use the last entry in this vector. But, I forgot to add the basic blocks to this vector! Fixes PR18724. llvm-svn: 201028
* Pass the Mangler by reference.Rafael Espindola2014-02-0825-101/+103
| | | | | | | It is never null and it is not used in casts, so there is no reason to use a pointer. This matches how we pass TM. llvm-svn: 201025
* Add LLVM_OVERRIDE to a few declarations.Rafael Espindola2014-02-089-101/+119
| | | | llvm-svn: 201022
* [Constant Hoisting] Fix insertion point for constant materialization.Juergen Ributzka2014-02-082-18/+43
| | | | | | | | | | The bitcast instruction during constant materialization was not placed correcly in the presence of phi nodes. This commit fixes the insertion point to be in the idom instead. This fixes PR18768 llvm-svn: 201009
* [Constant Hoisting] Don't update the use list while traversing it - DOH!Juergen Ributzka2014-02-081-5/+16
| | | | | | | | This fix first traverses the whole use list of the constant expression and keeps track of the instructions that need to be updated. Then perform the fixup afterwards. llvm-svn: 201008
* Remove dead code.Rafael Espindola2014-02-071-4/+0
| | | | llvm-svn: 201006
* Improve existing visualizers by:Nikola Smiljanic2014-02-071-58/+46
| | | | | | | | | | - Properly displaying non null terminated StringRef. - Auto expanding pointer types. - Displaying real type names for PointerUnions. - Using "size" and "capacity" across all containers. - Simplifying code where possible. llvm-svn: 201004
* Comment cleanup. Don't repeat the function name in the comment.Rafael Espindola2014-02-071-18/+16
| | | | llvm-svn: 201001
* Comment cleanup. Don't repeat the function name in the comment.Rafael Espindola2014-02-071-29/+26
| | | | llvm-svn: 200999
* Remove training whitespace.Rafael Espindola2014-02-071-12/+12
| | | | llvm-svn: 200998
* Always create a temporary symbol to use with the cfi frame.Rafael Espindola2014-02-072-15/+11
| | | | | | | This is a small simplification and a small step in fixing pr18743 since private functions on MachO should be using a 'l' prefix. llvm-svn: 200994
* Use FileCheck variables to simplify this test.Rafael Espindola2014-02-071-46/+28
| | | | llvm-svn: 200992
* Fix Darwin bots from EHABI changeRenato Golin2014-02-071-2/+1
| | | | llvm-svn: 200990
* R600/SI: Add failing test for 3 x i64 vectors.Matt Arsenault2014-02-071-0/+28
| | | | | | | Stores of <4 x i64> do work (although they do expand to 4 stores instead of 2), but 3 x i64 vectors fail to select. llvm-svn: 200989
* Remove -arm-disable-ehabi optionRenato Golin2014-02-075-20/+20
| | | | llvm-svn: 200988
* Don't internalize linkonce_odr non constant variables.Rafael Espindola2014-02-072-1/+15
| | | | llvm-svn: 200983
* Fix an invalid check for duplicate option categories.Alexander Kornienko2014-02-071-4/+10
| | | | | | | An intermediate solution until the problems with analyzer plugins linking with llvm/Support and causing assertions due to duplicate GeneralCategory are solved. llvm-svn: 200981
* [mips] Forbid the use of registers t6, t7 and t8 if the target is NaCl.Sasa Stankovic2014-02-075-2/+81
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D2694 llvm-svn: 200978
* Fix a bug with .weak_def_can_be_hidden: Mutable variables cannot use it.Rafael Espindola2014-02-073-12/+48
| | | | | | Thanks to John McCall for noticing it. llvm-svn: 200977
* Refactor logic into a function predicate.Rafael Espindola2014-02-071-14/+19
| | | | | | No functionality change. llvm-svn: 200976
* Try to unbreak the mingw32 build.Benjamin Kramer2014-02-071-1/+1
| | | | llvm-svn: 200973
OpenPOWER on IntegriCloud