summaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAge
* Extract a method.Jakob Stoklund Olesen2013-03-18
| | | | | | | This computes the type of an instruction operand or result based on the records in the instruction's ins and outs lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177244 91177308-0d34-0410-b5e6-96231b3b80d8
* Use ArrayRef<MVT::SimpleValueType> when possible.Jakob Stoklund Olesen2013-03-17
| | | | | | | Not passing vector references around makes it possible to use SmallVector in most places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177235 91177308-0d34-0410-b5e6-96231b3b80d8
* Machine model. Allow mixed itinerary classes and SchedRW lists.Andrew Trick2013-03-16
| | | | | | | | | | | | | We always supported a mixture of the old itinerary model and new per-operand model, but it required a level of indirection to map itinerary classes to SchedRW lists. This was done for ARM A9. Now we want to define x86 SchedRW lists, with the goal of removing its itinerary classes, but still support the itineraries in the mean time. When I original developed the model, Atom did not have itineraries, so there was no reason to expect this requirement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177226 91177308-0d34-0410-b5e6-96231b3b80d8
* Add SchedRW as an Instruction field.Jakob Stoklund Olesen2013-03-15
| | | | | | | | | | | | | Don't require instructions to inherit Sched<...>. Sometimes it is more convenient to say: let SchedRW = ... in { ... } Which is now possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177199 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix r177112: Add ProcResGroup.Andrew Trick2013-03-14
| | | | | | This is the other half of r177122 that I meant to commit at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177123 91177308-0d34-0410-b5e6-96231b3b80d8
* MachineModel: Add a ProcResGroup class.Andrew Trick2013-03-14
| | | | | | | | | | | | | | | | | This allows abitrary groups of processor resources. Using something in a subset automatically counts againts the superset. Currently, this only works if the superset is also a ProcResGroup as opposed to a SuperUnit. This allows SandyBridge to be expressed naturally, which will be checked in shortly. def SBPort01 : ProcResGroup<[SBPort0, SBPort1]>; def SBPort15 : ProcResGroup<[SBPort1, SBPort5]>; def SBPort23 : ProcResGroup<[SBPort2, SBPort3]>; def SBPort015 : ProcResGroup<[SBPort0, SBPort1, SBPort5]>; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177112 91177308-0d34-0410-b5e6-96231b3b80d8
* lit.TestFormats.GoogleTest: Honor LitConfig.noExecute, or --no-execute were ↵NAKAMURA Takumi2013-03-13
| | | | | | ignored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176930 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes disassembler crashes on 2013 Haswell RTM instructions.Kevin Enderby2013-03-11
| | | | | | | rdar://13318048 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176828 91177308-0d34-0410-b5e6-96231b3b80d8
* MIsched machine model: tablegen subtarget emitter improvement.Andrew Trick2013-03-01
| | | | | | | | Fix the way resources are counted. I'm taking some time to cleanup the way MachineScheduler handles in-order machine resources. Eventually we'll need more PPC/Atom test cases in tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176390 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable syntax highlighting for reStructuredText files.Bill Wendling2013-02-28
| | | | | | | Patch by Journeyer J. Joh! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176235 91177308-0d34-0410-b5e6-96231b3b80d8
* [TableGen] Fix ICE on MSVC 2012 Release builds.Michael J. Spencer2013-02-26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176125 91177308-0d34-0410-b5e6-96231b3b80d8
* Unify clang/llvm attributes for asan/tsan/msan (LLVM part)Kostya Serebryany2013-02-26
| | | | | | | | | | | | | | | | | | | | These are two related changes (one in llvm, one in clang). LLVM: - rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode) - rename thread_safety => sanitize_thread - rename no_uninitialized_checks -> sanitize_memory CLANG: - add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis)) - add __attribute__((no_sanitize_thread)) - add __attribute__((no_sanitize_memory)) for S in address thread memory If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not set llvm attribute sanitize_S git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
* 'Hexadecimal' has two 'a's and only one 'i'.Matt Beaumont-Gay2013-02-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176031 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for bug 15246 -- out-of-bound error in the TableGen backend, ↵Jyotsna Verma2013-02-14
| | | | | | CodeGenMapTable.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175185 91177308-0d34-0410-b5e6-96231b3b80d8
* PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIADavid Peixotto2013-02-13
| | | | | | | | Fixed bug in tablegen conversion when source pseudo instruction has a different number of arguments than the destination instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175066 91177308-0d34-0410-b5e6-96231b3b80d8
* Add static cast to unsigned char whenever a character classification ↵Guy Benyei2013-02-12
| | | | | | function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175006 91177308-0d34-0410-b5e6-96231b3b80d8
* Added 0x0D to 2-byte opcode extension table for prefetch* variantsKay Tiong Khoo2013-02-12
| | | | | | | Fixed decode of existing 3dNow prefetchw instruction Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174920 91177308-0d34-0410-b5e6-96231b3b80d8
* [tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany2013-02-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174864 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a display function for lit.Test.TestResult.Daniel Dunbar2013-02-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174667 91177308-0d34-0410-b5e6-96231b3b80d8
* Canonicalize line endings to Linux style also when the --strict-whitespace ↵Guy Benyei2013-02-06
| | | | | | flag is in use. This flag is supposed to affect horizontal whitespaces only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174541 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow targets to add custom asm operand matching logic.Jim Grosbach2013-02-06
| | | | | | | | | | 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
* Preprocess Apple llvmCore headers to reflect NDEBUG setting. <rdar://12568983>Bob Wilson2013-02-05
| | | | | | | | | | 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
* Set the deployment target for Apple llvmCore builds. <rdar://problem/12712431>Bob Wilson2013-02-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174397 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix commentsEli Bendersky2013-02-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174390 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch that sets the EmitAlias flag in td files Jack Carter2013-02-05
| | | | | | | | | | | | | | | 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
* MachineModel: Inconsequential TableGen SubtargetEmitter fix.Andrew Trick2013-02-01
| | | | | | | | 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
* [lit] Add a test for internal shell execution behaviors.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174102 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Change to raise InternalShellError for all command execution issues.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174101 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Fix bug where InternalShellError messages were discarded.Daniel Dunbar2013-01-31
| | | | | | - 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
* [lit] Fix a shell parsing bug with ';' not separated by whitespace.Daniel Dunbar2013-01-31
| | | | | | - Testing finds bugs, who knew. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174087 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a test for the various ShTest format features.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174072 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] TestRunner: Eliminate failDueToStderr argument, which is now unused.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174071 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Delete the now-unused SyntaxCheckTest format.Daniel Dunbar2013-01-31
| | | | | | - Also, kill the pointless LitFormats module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174070 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify intent.Jakob Stoklund Olesen2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174068 91177308-0d34-0410-b5e6-96231b3b80d8
* [MC] bundle alignment: prevent padding instructions from crossing bundle ↵Derek Schuff2013-01-31
| | | | | | boundaries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174067 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AArch64 as an experimental target.Tim Northover2013-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [lit] Move unittest adaptor code into discovery module.Daniel Dunbar2013-01-31
| | | | | | - Also, add a test for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174019 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Run the ShUtil tests as part of the test suite.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174018 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Set parallel mode for coverage tests.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174017 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Move discovery code into its own module.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174014 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a MANIFEST file and a script for sanity checking the source dist.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174002 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a basic discovery test.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174001 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a script for checking test coverage.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174000 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add a test suite for lit itself.Daniel Dunbar2013-01-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173999 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Make GoogleTest test runner correctly discover tests in the source rootAlexey Samsonov2013-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173907 91177308-0d34-0410-b5e6-96231b3b80d8
* [lit] Add some TODO notes to myself.Daniel Dunbar2013-01-30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173857 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid Unnecessary BuildsDavid Greene2013-01-28
| | | | | | | | 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
* [CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory ↵NAKAMURA Takumi2013-01-27
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-27
| | | | | | | | 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
* A port of the Visual Studio 2012 debugger visualizers for common LLVM and ↵Aaron Ballman2013-01-25
| | | | | | clang datatypes. Patch thanks to Nico Rieck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173532 91177308-0d34-0410-b5e6-96231b3b80d8