aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Do not generate by TableGen the hard-coded standard, target-independent part ofRoman Levenstein2008-05-141-140/+3
| | | | | | | | | | | | | | | | DAG instruction selectors. Introudce a dedicated header file for this part: include/llvm/CodeGen/DAGISelHeader.h TableGen now only generates the include preprocessor directive to include this new header. This is a preparation for supporting multiple implementations of instruction selectors in the future. Reviewed and approved by Evan and Dan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51102 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter option names to escape symbols not allowed as C++ identifiers.Mikhail Glushenkov2008-05-121-5/+22
| | | | | | | | Makes it possible to use options with names like "Wa,". Also fixes the -Wall option handling as a side-effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50973 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply 50867: A small refactoring (extract method) + some comment fixes.Mikhail Glushenkov2008-05-091-54/+64
| | | | | | | Fixed the build breakage, sorry for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50895 91177308-0d34-0410-b5e6-96231b3b80d8
* Revertin 50867 since it was breaking the build.Tanya Lattner2008-05-081-62/+52
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50871 91177308-0d34-0410-b5e6-96231b3b80d8
* A small refactoring (extract method) + some comment fixes.Mikhail Glushenkov2008-05-081-52/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50867 91177308-0d34-0410-b5e6-96231b3b80d8
* Use Doxygen-style comments.Mikhail Glushenkov2008-05-072-63/+84
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50833 91177308-0d34-0410-b5e6-96231b3b80d8
* Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.Mikhail Glushenkov2008-05-061-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50766 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new edge property combinator: weight.Mikhail Glushenkov2008-05-061-55/+85
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50765 91177308-0d34-0410-b5e6-96231b3b80d8
* Use edge weights to choose the right linker based on input language names.Mikhail Glushenkov2008-05-061-25/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50759 91177308-0d34-0410-b5e6-96231b3b80d8
* Add weights to graph edges. Choose between edges based on their weight.Mikhail Glushenkov2008-05-061-14/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50757 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the UnpackValues() function.Mikhail Glushenkov2008-05-061-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50756 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a --linker command-line option, make all tests pass.Mikhail Glushenkov2008-05-061-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50755 91177308-0d34-0410-b5e6-96231b3b80d8
* Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.Mikhail Glushenkov2008-05-063-13/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50754 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename LLVMCCConfigurationEmitter to LLVMCConfigurationEmitterMikhail Glushenkov2008-05-063-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50748 91177308-0d34-0410-b5e6-96231b3b80d8
* Add output redirection, rename namespace llvmcc to namespace llvmc.Mikhail Glushenkov2008-05-061-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50746 91177308-0d34-0410-b5e6-96231b3b80d8
* Small output formatting fix.Mikhail Glushenkov2008-05-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50739 91177308-0d34-0410-b5e6-96231b3b80d8
* Add inward edge counters to Nodes; Associate JoinLists with JoinTools.Mikhail Glushenkov2008-05-061-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50738 91177308-0d34-0410-b5e6-96231b3b80d8
* Return const char* instead of std::string in Tool classesMikhail Glushenkov2008-05-061-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50733 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactoring: extract method.Mikhail Glushenkov2008-05-061-38/+58
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50731 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new edge properties: parameter_equals, element_in_list, and.Mikhail Glushenkov2008-05-061-22/+71
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50730 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented switch_on edge property.Mikhail Glushenkov2008-05-061-16/+53
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50729 91177308-0d34-0410-b5e6-96231b3b80d8
* More work on edge properties. Use Edge classes instead of strings in ↵Mikhail Glushenkov2008-05-061-8/+32
| | | | | | CompilationGraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50726 91177308-0d34-0410-b5e6-96231b3b80d8
* Ongoing work: add an edge typechecker, rudimentary support for edge properties.Mikhail Glushenkov2008-05-061-27/+72
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50725 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert internal representation to use DAG. This gives us more flexibility ↵Mikhail Glushenkov2008-05-061-27/+39
| | | | | | and enables future improvements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50724 91177308-0d34-0410-b5e6-96231b3b80d8
* Code reorgMikhail Glushenkov2008-05-061-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50722 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove tar ball from installed directory.Bill Wendling2008-05-061-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50717 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for:Bill Wendling2008-04-271-7/+20
| | | | | | | | | | | | | | - defm and multiclass - imbricatable multiline C style comment - FIXME/TODO highlight in comment - binary and hexadecimal number - code using [{ }] is no highlighted as special (perhaps not the best choice) Patch by Cedric Venet! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50319 91177308-0d34-0410-b5e6-96231b3b80d8
* Apple GCC 4.2 builds things differently. It no longer spawns a bunch ofBill Wendling2008-04-151-4/+33
| | | | | | | processes, but requires the project to use -j. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49744 91177308-0d34-0410-b5e6-96231b3b80d8
* VisualStudio project files updated. #include <algorithm> added to make ↵Chuck Rose III2008-04-151-0/+1
| | | | | | VisualStudio happy. Also had to undefine setjmp because of #include <csetjmp> turning setjmp into _setjmp in VisualStudio. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49743 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort sub-registers and super-registers lists according to super-sub register ↵Evan Cheng2008-04-151-2/+27
| | | | | | relations. e.g. X86::RAX sub-register list is EAX, AX, AL, AH (order of last two are not guaranteed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49714 91177308-0d34-0410-b5e6-96231b3b80d8
* Install into the directoryBill Wendling2008-04-151-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49713 91177308-0d34-0410-b5e6-96231b3b80d8
* Change llvm tools install location.Devang Patel2008-04-111-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49540 91177308-0d34-0410-b5e6-96231b3b80d8
* produce an error on invalid input instead of asserting:Chris Lattner2008-04-101-0/+5
| | | | | | | | | def : Pat<((v2f64 (vector_shuffle immAllZerosV_bc, ^ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49462 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where an incorrect bit mask would be generated if a target's last asmNate Begeman2008-04-091-1/+1
| | | | | | | | | string began at a power of 2 in the string index. For example, if "ret" started at position 16, the ret instruction would be assigned code 16, but the mask would be AsmChars[] + Code & 15, not Code & 31. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49433 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix generation of multi-stage instruction itineraries. Patch byChris Lattner2008-04-061-2/+5
| | | | | | | | giuma.cordes@gmail.com git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49276 91177308-0d34-0410-b5e6-96231b3b80d8
* Move instruction flag inference out of InstrInfoEmitter and intoDan Gohman2008-04-038-152/+163
| | | | | | | | | | | | | CodeGenDAGPatterns, where it can be used in other tablegen backends. This allows the inference to be done for DAGISelEmitter so that it gets accurate mayLoad/mayStore/isSimpleLoad flags. This brings MemOperand functionality back to where it was before 48329. However, it doesn't solve the problem of anonymous patterns which expand to code that does loads or stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49123 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new CC lowering rule: provide a list of registers, which can be 'shadowed',Anton Korobeynikov2008-04-021-0/+42
| | | | | | | | when some another register is used for argument passing. Currently is used on Win64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49079 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner2008-04-012-4/+3
| | | | | | | | | start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify the conversion from "0x" numbers to a single digit number.Bill Wendling2008-03-281-17/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48907 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix build breakage on Windows with GCC 4.3. References bug #2176.Mikhail Glushenkov2008-03-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48874 91177308-0d34-0410-b5e6-96231b3b80d8
* Add explicit keywords.Dan Gohman2008-03-253-11/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
* A quick nm audit turned up several fixed tables and objects that wereDan Gohman2008-03-251-3/+3
| | | | | | | | marked read-write. Use const so that they can be allocated in a read-only segment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48800 91177308-0d34-0410-b5e6-96231b3b80d8
* Add first proof-of-concept universal compiler driver framework basedAnton Korobeynikov2008-03-233-1/+973
| | | | | | | | | | on ideas mentioned in PR686. Written by Mikhail Glushenkov and contributed by Codedgers, Inc. Old llvmc will be removed soon after new one will have all its properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48699 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't strip things when we're doing a debug build.Bill Wendling2008-03-221-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48696 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a new node for holding call argumentDuncan Sands2008-03-211-4/+4
| | | | | | | | | | | | | | | | | | flags. This is needed by the new legalize types infrastructure which wants to expand the 64 bit constants previously used to hold the flags on 32 bit machines. There are two functional changes: (1) in LowerArguments, if a parameter has the zext attribute set then that is marked in the flags; before it was being ignored; (2) PPC had some bogus code for handling two word arguments when using the ELF 32 ABI, which was hard to convert because of the bogusness. As suggested by the original author (Nicolas Geoffray), I've disabled it for the moment. Tested with "make check" and the Ada ACATS testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48640 91177308-0d34-0410-b5e6-96231b3b80d8
* detabify llvm, patch by Mike Stump!Chris Lattner2008-03-201-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48577 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for escaping {} in asm strings, based on patch from Nick Burns.Nate Begeman2008-03-171-1/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48450 91177308-0d34-0410-b5e6-96231b3b80d8
* Make insert_subreg a two-address instruction, vastly simplifying ↵Christopher Lamb2008-03-163-5/+16
| | | | | | LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48412 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove isImplicitDef TargetInstrDesc flag.Evan Cheng2008-03-153-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48381 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace all target specific implicit def instructions with a target ↵Evan Cheng2008-03-155-7/+27
| | | | | | independent one: TargetInstrInfo::IMPLICIT_DEF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48380 91177308-0d34-0410-b5e6-96231b3b80d8