aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* 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.3Argiris Kirtzidis2009-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
* Only strip the newline character at the end of the lines that we're consideringMisha Brukman2009-02-201-2/+2
| | | | | | | | for length and for trailing whitespace; otherwise, the whitespace themselves will also be removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65182 91177308-0d34-0410-b5e6-96231b3b80d8
* We have logic in there to emit a default debugging label at the beginning of aBill Wendling2009-02-201-4/+3
| | | | | | | | | | function. Emitting another label after the prologue messes up the debugging. We are doing that because the first DebugLoc object it sees is different from the previous, which was nothing. Check for this situation, and don't emit one if it's the first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65180 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an accessor method to DwarfWriter to tell of debugging info should be ↵Bill Wendling2009-02-201-1/+2
| | | | | | emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65092 91177308-0d34-0410-b5e6-96231b3b80d8
* Print out a new label only if the debug location *tuple* is different. The debugBill Wendling2009-02-191-6/+9
| | | | | | | locations may change, but the tuples may be the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65039 91177308-0d34-0410-b5e6-96231b3b80d8
* Forgot to check that debug information is supported.Bill Wendling2009-02-191-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65034 91177308-0d34-0410-b5e6-96231b3b80d8
* Put code that generates debug labels into TableGen so that it can be used byBill Wendling2009-02-181-0/+11
| | | | | | | everyone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64978 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2009-02-182-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64915 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the build on win32.Cédric Venet2009-02-142-3/+3
| | | | | | | | | | | Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64554 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize some alias analysis logic from atomicDuncan Sands2009-02-142-0/+36
| | | | | | | intrinsics to any IntrWriteArgMem intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64551 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MingW build: define GTEST_OS_WINDOWS if OS is MingW, but disableJulien Lerouge2009-02-122-6/+10
| | | | | | | exceptions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64367 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't try to strip a file we just moved.Bill Wendling2009-02-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64263 91177308-0d34-0410-b5e6-96231b3b80d8