Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Do not generate by TableGen the hard-coded standard, target-independent part of | Roman Levenstein | 2008-05-14 | 1 | -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. llvm-svn: 51102 | ||||
* | Filter option names to escape symbols not allowed as C++ identifiers. | Mikhail Glushenkov | 2008-05-12 | 1 | -5/+22 |
| | | | | | | | Makes it possible to use options with names like "Wa,". Also fixes the -Wall option handling as a side-effect. llvm-svn: 50973 | ||||
* | Reapply 50867: A small refactoring (extract method) + some comment fixes. | Mikhail Glushenkov | 2008-05-09 | 1 | -54/+64 |
| | | | | | | Fixed the build breakage, sorry for that. llvm-svn: 50895 | ||||
* | Revertin 50867 since it was breaking the build. | Tanya Lattner | 2008-05-08 | 1 | -62/+52 |
| | | | | llvm-svn: 50871 | ||||
* | A small refactoring (extract method) + some comment fixes. | Mikhail Glushenkov | 2008-05-08 | 1 | -52/+62 |
| | | | | llvm-svn: 50867 | ||||
* | Use Doxygen-style comments. | Mikhail Glushenkov | 2008-05-07 | 2 | -63/+84 |
| | | | | llvm-svn: 50833 | ||||
* | Change from llvm::SmallSet<std::string> to llvm::StringMap<char>. | Mikhail Glushenkov | 2008-05-06 | 1 | -2/+1 |
| | | | | llvm-svn: 50766 | ||||
* | Add new edge property combinator: weight. | Mikhail Glushenkov | 2008-05-06 | 1 | -55/+85 |
| | | | | llvm-svn: 50765 | ||||
* | Use edge weights to choose the right linker based on input language names. | Mikhail Glushenkov | 2008-05-06 | 1 | -25/+49 |
| | | | | llvm-svn: 50759 | ||||
* | Add weights to graph edges. Choose between edges based on their weight. | Mikhail Glushenkov | 2008-05-06 | 1 | -14/+9 |
| | | | | llvm-svn: 50757 | ||||
* | Remove the UnpackValues() function. | Mikhail Glushenkov | 2008-05-06 | 1 | -3/+3 |
| | | | | llvm-svn: 50756 | ||||
* | Add a --linker command-line option, make all tests pass. | Mikhail Glushenkov | 2008-05-06 | 1 | -5/+6 |
| | | | | llvm-svn: 50755 | ||||
* | Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter. | Mikhail Glushenkov | 2008-05-06 | 3 | -13/+13 |
| | | | | llvm-svn: 50754 | ||||
* | Rename LLVMCCConfigurationEmitter to LLVMCConfigurationEmitter | Mikhail Glushenkov | 2008-05-06 | 3 | -6/+6 |
| | | | | llvm-svn: 50748 | ||||
* | Add output redirection, rename namespace llvmcc to namespace llvmc. | Mikhail Glushenkov | 2008-05-06 | 1 | -5/+5 |
| | | | | llvm-svn: 50746 | ||||
* | Small output formatting fix. | Mikhail Glushenkov | 2008-05-06 | 1 | -1/+1 |
| | | | | llvm-svn: 50739 | ||||
* | Add inward edge counters to Nodes; Associate JoinLists with JoinTools. | Mikhail Glushenkov | 2008-05-06 | 1 | -2/+6 |
| | | | | llvm-svn: 50738 | ||||
* | Return const char* instead of std::string in Tool classes | Mikhail Glushenkov | 2008-05-06 | 1 | -4/+4 |
| | | | | llvm-svn: 50733 | ||||
* | Refactoring: extract method. | Mikhail Glushenkov | 2008-05-06 | 1 | -38/+58 |
| | | | | llvm-svn: 50731 | ||||
* | Add new edge properties: parameter_equals, element_in_list, and. | Mikhail Glushenkov | 2008-05-06 | 1 | -22/+71 |
| | | | | llvm-svn: 50730 | ||||
* | Implemented switch_on edge property. | Mikhail Glushenkov | 2008-05-06 | 1 | -16/+53 |
| | | | | llvm-svn: 50729 | ||||
* | More work on edge properties. Use Edge classes instead of strings in ↵ | Mikhail Glushenkov | 2008-05-06 | 1 | -8/+32 |
| | | | | | | CompilationGraph. llvm-svn: 50726 | ||||
* | Ongoing work: add an edge typechecker, rudimentary support for edge properties. | Mikhail Glushenkov | 2008-05-06 | 1 | -27/+72 |
| | | | | llvm-svn: 50725 | ||||
* | Convert internal representation to use DAG. This gives us more flexibility ↵ | Mikhail Glushenkov | 2008-05-06 | 1 | -27/+39 |
| | | | | | | and enables future improvements. llvm-svn: 50724 | ||||
* | Code reorg | Mikhail Glushenkov | 2008-05-06 | 1 | -2/+2 |
| | | | | llvm-svn: 50722 | ||||
* | VisualStudio project files updated. #include <algorithm> added to make ↵ | Chuck Rose III | 2008-04-15 | 1 | -0/+1 |
| | | | | | | VisualStudio happy. Also had to undefine setjmp because of #include <csetjmp> turning setjmp into _setjmp in VisualStudio. llvm-svn: 49743 | ||||
* | Sort sub-registers and super-registers lists according to super-sub register ↵ | Evan Cheng | 2008-04-15 | 1 | -2/+27 |
| | | | | | | relations. e.g. X86::RAX sub-register list is EAX, AX, AL, AH (order of last two are not guaranteed). llvm-svn: 49714 | ||||
* | produce an error on invalid input instead of asserting: | Chris Lattner | 2008-04-10 | 1 | -0/+5 |
| | | | | | | | def : Pat<((v2f64 (vector_shuffle immAllZerosV_bc, ^ llvm-svn: 49462 | ||||
* | Fix a bug where an incorrect bit mask would be generated if a target's last asm | Nate Begeman | 2008-04-09 | 1 | -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. llvm-svn: 49433 | ||||
* | Fix generation of multi-stage instruction itineraries. Patch by | Chris Lattner | 2008-04-06 | 1 | -2/+5 |
| | | | | | | giuma.cordes@gmail.com llvm-svn: 49276 | ||||
* | Move instruction flag inference out of InstrInfoEmitter and into | Dan Gohman | 2008-04-03 | 8 | -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. llvm-svn: 49123 | ||||
* | Add new CC lowering rule: provide a list of registers, which can be 'shadowed', | Anton Korobeynikov | 2008-04-02 | 1 | -0/+42 |
| | | | | | | | when some another register is used for argument passing. Currently is used on Win64. llvm-svn: 49079 | ||||
* | Change the MemoryBuffer::getFile* methods to take just a pointer to the | Chris Lattner | 2008-04-01 | 2 | -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. llvm-svn: 49041 | ||||
* | Fix build breakage on Windows with GCC 4.3. References bug #2176. | Mikhail Glushenkov | 2008-03-27 | 1 | -1/+1 |
| | | | | llvm-svn: 48874 | ||||
* | Add explicit keywords. | Dan Gohman | 2008-03-25 | 3 | -11/+12 |
| | | | | llvm-svn: 48801 | ||||
* | A quick nm audit turned up several fixed tables and objects that were | Dan Gohman | 2008-03-25 | 1 | -3/+3 |
| | | | | | | | marked read-write. Use const so that they can be allocated in a read-only segment. llvm-svn: 48800 | ||||
* | Add first proof-of-concept universal compiler driver framework based | Anton Korobeynikov | 2008-03-23 | 3 | -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. llvm-svn: 48699 | ||||
* | Introduce a new node for holding call argument | Duncan Sands | 2008-03-21 | 1 | -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. llvm-svn: 48640 | ||||
* | detabify llvm, patch by Mike Stump! | Chris Lattner | 2008-03-20 | 1 | -3/+3 |
| | | | | llvm-svn: 48577 | ||||
* | Add support for escaping {} in asm strings, based on patch from Nick Burns. | Nate Begeman | 2008-03-17 | 1 | -1/+18 |
| | | | | llvm-svn: 48450 | ||||
* | Make insert_subreg a two-address instruction, vastly simplifying ↵ | Christopher Lamb | 2008-03-16 | 3 | -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. llvm-svn: 48412 | ||||
* | Remove isImplicitDef TargetInstrDesc flag. | Evan Cheng | 2008-03-15 | 3 | -3/+0 |
| | | | | llvm-svn: 48381 | ||||
* | Replace all target specific implicit def instructions with a target ↵ | Evan Cheng | 2008-03-15 | 5 | -7/+27 |
| | | | | | | independent one: TargetInstrInfo::IMPLICIT_DEF. llvm-svn: 48380 | ||||
* | Get rid of a pseudo instruction and replace it with subreg based operation ↵ | Christopher Lamb | 2008-03-13 | 1 | -11/+6 |
| | | | | | | | on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects. Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes. llvm-svn: 48329 | ||||
* | Recommitting changes after more testing. These appear to cause no problems. | Christopher Lamb | 2008-03-11 | 2 | -2/+8 |
| | | | | llvm-svn: 48222 | ||||
* | emit an ID # for each regclass ID. Chris doesn't like to have to count. | Chris Lattner | 2008-03-11 | 1 | -1/+1 |
| | | | | llvm-svn: 48200 | ||||
* | Revert 48125, 48126, and 48130 for now to unbreak some x86-64 tests. | Evan Cheng | 2008-03-10 | 2 | -8/+2 |
| | | | | llvm-svn: 48167 | ||||
* | Revert accidentally committed local changes. | Christopher Lamb | 2008-03-10 | 1 | -2/+2 |
| | | | | llvm-svn: 48126 | ||||
* | Add support in TableGen for unknown operands that infer their type from the ↵ | Christopher Lamb | 2008-03-10 | 2 | -4/+10 |
| | | | | | | pattern their used in. This will be used to allow insert/extract subreg patterns in .td files! llvm-svn: 48125 | ||||
* | Increase ISD::ParamFlags to 64 bits. Increase the ByValSize | Dale Johannesen | 2008-03-10 | 1 | -2/+2 |
| | | | | | | | | | | field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) llvm-svn: 48122 |