aboutsummaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Collapse)Author
2013-02-06Allow targets to add custom asm operand matching logic.Jim Grosbach
For example, ARM has several instructions with a literal '#0' immediate in the syntax that's not represented as an actual operand. The asm matcher is expected a token operand, but the parser will have created an immediate operand. This is currently handled by dedicated per-instruction C++ munging of the ParsedAsmOperand list, but will be better handled by this hook. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174487 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05Preprocess Apple llvmCore headers to reflect NDEBUG setting. <rdar://12568983>Bob Wilson
If an Apple llvmCore build is done without assertions, and a client uses the llvmCore headers with assertions enabled, or vice versa, then things will break because some of the structure sizes in the API are different. Use the unifdef tool to make the headers unconditionally match the way the llvmCore libraries were built. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174460 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05Set the deployment target for Apple llvmCore builds. <rdar://problem/12712431>Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174397 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05Fix commentsEli Bendersky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174390 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05This patch that sets the EmitAlias flag in td files Jack Carter
and enables the instruction printer to print aliased instructions. Due to usage of RegisterOperands a change in common code (utils/TableGen/AsmWriterEmitter.cpp) is required to get the correct register value if it is a RegisterOperand. Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174358 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01MachineModel: Inconsequential TableGen SubtargetEmitter fix.Andrew Trick
Drive by fix. I noticed some missing logic that might bite future users. This shouldn't affect the final output on currently modeled targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174142 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a test for internal shell execution behaviors.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174102 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Change to raise InternalShellError for all command execution issues.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174101 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Fix bug where InternalShellError messages were discarded.Daniel Dunbar
- Also, change the exit code to match 'sh'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174089 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Fix a shell parsing bug with ';' not separated by whitespace.Daniel Dunbar
- Testing finds bugs, who knew. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174087 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a test for the various ShTest format features.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174072 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] TestRunner: Eliminate failDueToStderr argument, which is now unused.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174071 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Delete the now-unused SyntaxCheckTest format.Daniel Dunbar
- Also, kill the pointless LitFormats module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174070 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31Clarify intent.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174068 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[MC] bundle alignment: prevent padding instructions from crossing bundle ↵Derek Schuff
boundaries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174067 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31Add AArch64 as an experimental target.Tim Northover
This patch adds support for AArch64 (ARM's 64-bit architecture) to LLVM in the "experimental" category. Currently, it won't be built unless requested explicitly. This initial commit should have support for: + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions (except the late addition CRC instructions). + CodeGen features required for C++03 and C99. + Compilation for the "small" memory model: code+static data < 4GB. + Absolute and position-independent code. + GNU-style (i.e. "__thread") TLS. + Debugging information. The principal omission, currently, is performance tuning. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174054 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Move unittest adaptor code into discovery module.Daniel Dunbar
- Also, add a test for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174019 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Run the ShUtil tests as part of the test suite.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174018 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Set parallel mode for coverage tests.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174017 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Move discovery code into its own module.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174014 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a MANIFEST file and a script for sanity checking the source dist.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174002 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a basic discovery test.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174001 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a script for checking test coverage.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174000 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-31[lit] Add a test suite for lit itself.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173999 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-30[lit] Make GoogleTest test runner correctly discover tests in the source rootAlexey Samsonov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173907 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-30[lit] Add some TODO notes to myself.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173857 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-28Avoid Unnecessary BuildsDavid Greene
By default, stop the universe build if a key component fails. This avoids useless builds when we know a package is broken anyway. Provide a --keep-going option to override this behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173723 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-27[CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory ↵NAKAMURA Takumi
for unittests. For example, cur) unittests/ADT/Release/ADTTests new) unittests/ADT/ADTTests RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR. With Make and Ninja, the tree is not built with multiple configurations. Then, including the build type in target directory doesn't make sense. See also "How can I build multiple modes without switching?" http://www.cmake.org/Wiki/CMake_FAQ CMAKE_CFG_INTDIR is set to "." With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example, unittests/ADT/Release/ADTTests.exe CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)". Thus, "--param build_config" is also deprecated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173616 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-27Use the AttributeSet instead of AttributeWithIndex.Bill Wendling
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173606 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25A port of the Visual Studio 2012 debugger visualizers for common LLVM and ↵Aaron Ballman
clang datatypes. Patch thanks to Nico Rieck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173532 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25Use xcrun to find the right compiler when building llvmCore. <rdar://12801151>Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173468 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25lit/ShUtil.py: Deprecate '!' in shell expression. It is not sh-compatible.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173421 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23Add the IR attribute 'sspstrong'.Bill Wendling
SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173230 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-20llvm/utils/valgrind/x86_64-pc-linux-gnu.supp: Add /usr/bin/cmp.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172981 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Add basic command line parsing to TestMain.Manuel Klimek
Summary: This allows unit tests for components that use Support/Debug.h to print debug information from test runs by specifying -debug when running the test. CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D301 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172801 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Remove support for Tcl test format since nobody uses itDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172794 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17[utils] Update find-rev utility to take a branch argument (name of the git-svnDaniel Dunbar
branch). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172740 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Use --enable-werrorDavid Greene
Use --enable-werror during configure time rather than --with-extra-options. This is cleaner and easier to read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172581 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-15[ms-inline asm] Address the FIXME in AsmParser.cpp.Chad Rosier
// FIXME: Constraints are hard coded to 'm', but we need an 'r' // constraint for addressof. This needs to be cleaned up! Test cases are already in place. Specifically, clang/test/CodeGen/ms-inline-asm.c t15(), t16(), and t24(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172569 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-12Fix quoting problems from my previous change. <rdar://problem/13001651>Bob Wilson
I give up trying to get all of the settings into COMMON_MAKEFLAGS, so just do the easy thing and repeat the ones with interesting quoting issues in each make command. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172296 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-11Support for half intrinsics. Pushes MMX into slower encoding path.Michael Ilseman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172159 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Update Apple's build script for llvmCore. <rdar://problem/12914321>Bob Wilson
This change is basically just copying changes that we've used for Apple's clang builds to the script used for building llvmCore. Besides cleaning it up to use xcrun to locate the proper versions of tools, especially for cross compiling, it fixes the build to work with newer versions of clang that honor SDKROOT settings in the environment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172138 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10TableGen: Keep track of superclass reference ranges.Jordan Rose
def foo : bar; ~~~ This allows us to produce more precise diagnostics about a certain superclass, and even provide fixits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172085 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Remove locale-dependence of enum mangling and use existing function.Tim Northover
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172077 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-10Make TableGen mangle operand method names before putting in enum.Tim Northover
The purpose of this patch is to allow PredicateMethods to be set to something like "isUImm<8>", calling a C++ template method to reduce code duplication. For this to work, the PredicateMethod must be mangled into a valid C++ identifier for insertion into an enum. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172073 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09Check whether MCInst operand isImm before calling getImm.Tim Northover
When processing possible aliases, TableGen assumes that if an operand *can* be an immediate, then it always *will* be. This is incorrect for the AArch64 backend. This patch inserts a check in the generated code to make sure isImm is true first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171972 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-09MIsched: add an ILP window property to machine model.Andrew Trick
This was an experimental option, but needs to be defined per-target. e.g. PPC A2 needs to aggressively hide latency. I converted some in-order scheduling tests to A2. Hal is working on more test cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-08Add highlighting for "int" keywordJoel Jones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171863 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07Add some additional tests for the .bundle_lock align_to_end feature that didn'tEli Bendersky
make into the last commit. Also, update the test-generation script to generate an exhaustive test for align_to_end as well, and include the generated test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-07Claim ".td" files. Improve README cp command. Drop "Bundle" from descriptionJoel Jones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171758 91177308-0d34-0410-b5e6-96231b3b80d8