aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Don't install the libLLVMHello.dylib example.Bill Wendling2009-04-101-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68807 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't run "dsymutils" on .a files.Bill Wendling2009-04-101-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68795 91177308-0d34-0410-b5e6-96231b3b80d8
* Give register alias checking the hash table treatment too.Owen Anderson2009-04-091-1/+78
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68730 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert TargetRegisterInfo's super-register checking to use a pre-computed ↵Owen Anderson2009-04-091-1/+79
| | | | | | hash table just like subregister checking does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68669 91177308-0d34-0410-b5e6-96231b3b80d8
* "This adds a getName() method to TargetRegisterClass, just like in ↵Chris Lattner2009-04-031-0/+1
| | | | | | | | | | | | TargetRegisterInfo. This makes debugging register classes a bit easier." Patch by Jakob Stoklund Olesen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68400 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete ISD::INSERT_SUBREG and ISD::EXTRACT_SUBREG, which are unused.Dan Gohman2009-04-031-21/+0
| | | | | | | | Note that these are distinct from TargetInstrInfo::INSERT_SUBREG and TargetInstrInfo::EXTRACT_SUBREG, which are used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68355 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify method to make VC++ happy. Patch by Brian Diekelman!Ted Kremenek2009-04-011-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68222 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up some comments.Dan Gohman2009-03-311-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68112 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment.Dan Gohman2009-03-311-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68111 91177308-0d34-0410-b5e6-96231b3b80d8
* Update the polygen grammer to reflect that zext and sext are no longerDan Gohman2009-03-301-2/+0
| | | | | | | valid argument attributes (zeroext and signext are). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68053 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a few spelling errors and typosJim Grosbach2009-03-269-16/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67758 91177308-0d34-0410-b5e6-96231b3b80d8
* Use 'bool' for FoundRCJim Grosbach2009-03-261-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67750 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify getRegisterValueType() to allow for a register being in mutlipleJim Grosbach2009-03-251-5/+26
| | | | | | | | | register classes. Before, MVT::Other would be returned anytime a reg was in multiple register classes. Now, MVT::Other is only returned if the types for those register classes differ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67714 91177308-0d34-0410-b5e6-96231b3b80d8
* Add sanity check in Clang TableGen backend to check if 'Component' is a string.Ted Kremenek2009-03-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67565 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the Win32 VS2008 build:Sebastian Redl2009-03-191-1/+1
| | | | | | | | | | - Make type declarations match the struct/class keyword of the definition. - Move AddSignalHandler into the namespace where it belongs. - Correctly call functions from template base. - Some other small changes. With this patch, LLVM and Clang should build properly and with far less noise under VS2008. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67347 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix regression in 'tblgen -gen-clang-diags-defs': Emit the diagnostic kind ↵Ted Kremenek2009-03-191-1/+2
| | | | | | instead of "DIAGNOSTICCONTROLLED". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67305 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to tablegen for naming the nodes themselves, not just the operands, Nate Begeman2009-03-194-18/+36
| | | | | | | | in selectiondag patterns. This is required for the upcoming shuffle_vector rewrite, and as it turns out, cleans up a hack in the Alpha instruction info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67286 91177308-0d34-0410-b5e6-96231b3b80d8
* tblgen -gen-clang-diags-options: Output OptionTable entries in lexicographicTed Kremenek2009-03-181-7/+19
| | | | | | | order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67244 91177308-0d34-0410-b5e6-96231b3b80d8
* 'tblgen -gen-clang-diags-options' now outputs the OptionTable:Ted Kremenek2009-03-181-5/+19
| | | | | | | | | | | | static const WarningOption OptionTable[] = { {"unused-macros", DIAGS(UnusedMacrosDiags)} ... }; This table is not yet properly sorted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67242 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another Clang TableGen-backend (-gen-clang-diags-options) for emittingTed Kremenek2009-03-183-0/+116
| | | | | | | | | | | | | | declarations for controlling groups of warnings. Currently this transforms: def UnusedMacrosDiags : Option<"unused-macros", [pp_macro_not_used]>; into: static const diag::kind UnusedMacrosDiags[] = { diag::pp_macro_not_used }; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67239 91177308-0d34-0410-b5e6-96231b3b80d8
* include the null at the end of a memorybuffer as part of the buffer.Chris Lattner2009-03-181-1/+3
| | | | | | | | This allows tblgen to handle include "foo.td" when the quote is exactly the last character in a file. rdar://6695728 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67232 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TGSourceMgr.cpp to CMake build, sort linesDouglas Gregor2009-03-161-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67042 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TableGen syntax highlighting for the jEdit editor.Sebastian Redl2009-03-142-0/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67005 91177308-0d34-0410-b5e6-96231b3b80d8
* Add (hidden) TableGen command option '-clang-component' which specifies theTed Kremenek2009-03-133-11/+42
| | | | | | | | | | component's warnings to process for '-gen-clang-diags-defs'. Also, when the component is specified, generate a '#if' prologue at the top of the generated .def file (to match the current files). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66975 91177308-0d34-0410-b5e6-96231b3b80d8
* Add initial implementation of a TableGen backend for converting Clang-warningsTed Kremenek2009-03-134-2/+127
| | | | | | | | tablegen files to the original .def preprocessor include files. This is my first TableGen backend; I don't claim that it is awesome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66971 91177308-0d34-0410-b5e6-96231b3b80d8
* Further constify Record::isSubClassOf.Ted Kremenek2009-03-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66970 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix escaping in asm string literals correctly by having tblgen unescape Chris Lattner2009-03-132-7/+16
| | | | | | | them, then the asmprinter emitter reescape them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66958 91177308-0d34-0410-b5e6-96231b3b80d8
* add a horrible hack to fix the build.Chris Lattner2009-03-131-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66957 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for a few simple escape characters in tblgen strings.Chris Lattner2009-03-131-1/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66949 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new TGError class and use it to propagate location info withChris Lattner2009-03-133-20/+26
| | | | | | | | | | | | | | | | | | | | | | | errors when thrown. This gets us nice errors like this from tblgen: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: error: Included from X86.td:116: Parsing X86InstrInfo.td:922: In CMOVL32rr: X86cmov node requires exactly 4 operands! def CMOVL32rr : I<0x4C, MRMSrcReg, // if <s, GR32 = GR32 ^ instead of just: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: In CMOVL32rr: X86cmov node requires exactly 4 operands! This is all I plan to do with this, but it should be easy enough to improve if anyone cares (e.g. keeping more loc info in "dag" expr records in tblgen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66898 91177308-0d34-0410-b5e6-96231b3b80d8
* give each Record a location.Chris Lattner2009-03-134-15/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66897 91177308-0d34-0410-b5e6-96231b3b80d8
* make "locations" a class instead of a typedef.Chris Lattner2009-03-137-58/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66895 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build, bring in std::string for GCC 4.3Argyrios Kyrtzidis2009-03-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66876 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build.Evan Cheng2009-03-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66874 91177308-0d34-0410-b5e6-96231b3b80d8
* split buffer management and diagnostic printing out of the tblgenChris Lattner2009-03-136-70/+228
| | | | | | | lexer into its own TGSourceMgr class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66873 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an inconsistent use of LLVMGCCDIR. In all other cases, this directoryBob Wilson2009-03-121-1/+1
| | | | | | | | | refers to the "prefix" directory, i.e., one level above "bin". LLVMGCCPATH is used as the directory containing the llvm-gcc executable, so add a "/bin" suffix to get from LLVMGCCDIR to LLVMGCCPATH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66823 91177308-0d34-0410-b5e6-96231b3b80d8
* It makes no sense to have a ODR version of commonDuncan Sands2009-03-112-2/+1
| | | | | | | linkage, so remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66690 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for C-style string literal concatenation in td files.Chris Lattner2009-03-111-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66663 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the one-definition-rule version of extern_weakDuncan Sands2009-03-112-3/+1
| | | | | | | | linkage: this linkage type only applies to declarations, but ODR is only relevant to globals with definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66650 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -disable-bindings for utils/NewNightlyTest.plDaniel Dunbar2009-03-101-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66566 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands2009-03-073-3/+11
| | | | | | | | | | | | | | | | | | | | | | and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
* Change various llvm utilities to use PrettyStackTraceProgram inChris Lattner2009-03-061-0/+3
| | | | | | | | their main routines. This makes the tools print their argc/argv commands if they crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248 91177308-0d34-0410-b5e6-96231b3b80d8
* .emacs file bits for automatically setting the llvm.org coding style. ↵Mike Stump2009-03-041-0/+24
| | | | | | Thanks Anton. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66032 91177308-0d34-0410-b5e6-96231b3b80d8
* 'append_cmd' should split its argument.Mikhail Glushenkov2009-02-271-1/+6
| | | | | | Makes '(append_cmd "-foo a b c")' work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65623 91177308-0d34-0410-b5e6-96231b3b80d8
* these utils don't need exports.Chris Lattner2009-02-262-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65559 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support to have TableGen provide information if an intrinsic (coreMon P Wang2009-02-242-1/+23
| | | | | | | or target) can be overloaded or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65404 91177308-0d34-0410-b5e6-96231b3b80d8
* Overhaul my earlier submission due to feedback. It's a large patch, but most ofBill Wendling2009-02-241-3/+1
| | | | | | | | | | | | | them are generic changes. - Use the "fast" flag that's already being passed into the asm printers instead of shoving it into the DwarfWriter. - Instead of calling "MI->getParent()->getParent()" for every MI, set the machine function when calling "runOnMachineFunction" in the asm printers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65379 91177308-0d34-0410-b5e6-96231b3b80d8
* - Use the "Fast" flag instead of "OptimizeForSize" to determine whether to emitBill Wendling2009-02-241-1/+2
| | | | | | | | | | | a DBG_LABEL or not. We want to fall back to the original way of emitting debug info when we're in -O0/-fast mode. - Add plumbing in to pass the "Fast" flag to places that need it. - XFAIL DebugInfo/deaddebuglabel.ll. This is finding 11 labels instead of 8. I need to investigate still. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65367 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fixed spellingMisha Brukman2009-02-202-17/+68
| | | | | | | | | * Linters now return their information instead of printing it, to enable easier unittesting * Added support for finding tabs in files, added to C++ linter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65202 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep the newline character at the end of the lines whose trailing whitespace weMisha Brukman2009-02-201-1/+1
| | | | | | | are deleting; otherwise, everything ends up on a single line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65185 91177308-0d34-0410-b5e6-96231b3b80d8