aboutsummaryrefslogtreecommitdiffstats
path: root/utils
Commit message (Collapse)AuthorAgeFilesLines
* Instead of passing in an unsigned value for the optimization level, use an enum,Bill Wendling2009-04-292-2/+2
| | | | | | | | which better identifies what the optimization is doing. And is more flexible for future uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70440 91177308-0d34-0410-b5e6-96231b3b80d8
* Second attempt:Bill Wendling2009-04-292-2/+2
| | | | | | | | | | | | | Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'll change the JIT with a follow-up patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix trailing whitespace and 80-col. violations in recent TableGen changes.Bob Wilson2009-04-281-27/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70319 91177308-0d34-0410-b5e6-96231b3b80d8
* r70270 isn't ready yet. Back this out. Sorry for the noise.Bill Wendling2009-04-282-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70275 91177308-0d34-0410-b5e6-96231b3b80d8
* Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want toBill Wendling2009-04-282-2/+2
| | | | | | | | | | | | use the old behavior, the flag is -O0. This change allows for finer-grained control over which optimizations are run at different -O levels. Most of this work was pretty mechanical. The majority of the fixes came from verifying that a "fast" variable wasn't used anymore. The JIT still uses a "Fast" flag. I'm not 100% sure if it's necessary to change it there... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70270 91177308-0d34-0410-b5e6-96231b3b80d8
* 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan.Nate Begeman2009-04-272-44/+3
| | | | | | | | | | | | | | | | PR2957 ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70225 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix multiclass inheritance to limit value resolution to new defs addedDavid Greene2009-04-243-21/+76
| | | | | | | | by base multiclasses. Do not attempt to alter defs from previous base multiclasses. This fixes multiple multiclass inheritance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69974 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 69952. Causes testsuite failures on linux x86-64.Rafael Espindola2009-04-242-5/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69967 91177308-0d34-0410-b5e6-96231b3b80d8
* PR2957Nate Begeman2009-04-242-43/+5
| | | | | | | | | | | | | | | ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes as the shuffle mask. A value of -1 represents UNDEF. In addition to eliminating the creation of illegal BUILD_VECTORS just to represent shuffle masks, we are better about canonicalizing the shuffle mask, resulting in substantially better code for some classes of shuffles. A clean up of x86 shuffle code, and some canonicalizing in DAGCombiner is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69952 91177308-0d34-0410-b5e6-96231b3b80d8
* Make BinOps typed and require a type specifier for !nameconcat. ThisDavid Greene2009-04-234-54/+190
| | | | | | | | allows binops to be used in typed contexts such as when passing arguments to classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69921 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow defm to inherit from multiple multiclasses.David Greene2009-04-221-68/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69832 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement !nameconcat to concatenate strings and look up the resultingDavid Greene2009-04-226-34/+108
| | | | | | | name in the symbol table, returning an object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69822 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement multiclass inheritance.David Greene2009-04-222-3/+175
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69810 91177308-0d34-0410-b5e6-96231b3b80d8
* 'The "or die" is intended to catch the case where nm returned aAnton Korobeynikov2009-04-211-3/+4
| | | | | | | | | non-zero exit status, so nm will already have printed some error messages.' Patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69677 91177308-0d34-0410-b5e6-96231b3b80d8
* One Mac OS X, just build with -O3 but without -fstrict-aliasing (which is ↵Evan Cheng2009-04-201-1/+1
| | | | | | kinda broken). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69630 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some assertions.Mikhail Glushenkov2009-04-191-1/+2
| | | | | | Fixes segfaults in some corner cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69494 91177308-0d34-0410-b5e6-96231b3b80d8
* Use CallConvLower.h and TableGen descriptions of the calling conventionsBob Wilson2009-04-171-0/+9
| | | | | | | for ARM. Patch by Sandeep Patel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69371 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3994: LLVMMatchType arguments do not refer to absolute return valueBob Wilson2009-04-162-10/+18
| | | | | | | | | | | and argument positions but only to the overloaded intrinsic parameters. Keep a separate list of these overloaded parameters in CodeGenTarget.cpp so they can be resolved easily. Remove assertions from IntrinsicEmitter.cpp: they were harmless but confusing, and the assertions elsewhere in TableGen will catch any incorrect values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69316 91177308-0d34-0410-b5e6-96231b3b80d8
* prove diagnostic -> group mapping information.Chris Lattner2009-04-161-1/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69270 91177308-0d34-0410-b5e6-96231b3b80d8
* encode subgroups into the clang .inc file. -Wall now works!Chris Lattner2009-04-161-11/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69257 91177308-0d34-0410-b5e6-96231b3b80d8
* start producing subgroup info.Chris Lattner2009-04-161-8/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69249 91177308-0d34-0410-b5e6-96231b3b80d8
* make sure that empty diag groups get known by clang.Chris Lattner2009-04-151-2/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69235 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for writing out diagnostic group tables.Chris Lattner2009-04-151-137/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69219 91177308-0d34-0410-b5e6-96231b3b80d8
* use UppercaseString instead of EmitAllCapsChris Lattner2009-04-151-16/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69213 91177308-0d34-0410-b5e6-96231b3b80d8
* use escape string.Chris Lattner2009-04-151-13/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69212 91177308-0d34-0410-b5e6-96231b3b80d8
* rename -gen-clang-diags-options -> -gen-clang-diag-groupsChris Lattner2009-04-153-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69208 91177308-0d34-0410-b5e6-96231b3b80d8
* don't infer diag class from parenting relations, make it an explicit fieldChris Lattner2009-04-151-15/+1
| | | | | | | in the record. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69176 91177308-0d34-0410-b5e6-96231b3b80d8
* include the default mapping in the clang diagnostic .inc files.Chris Lattner2009-04-151-7/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69173 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanupsChris Lattner2009-04-151-17/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69152 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalizeDan Gohman2009-04-134-10/+10
| | | | | | | | it accordingly. Thanks to Jakob Stoklund Olesen for pointing out how this might be useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68986 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new TargetInstrInfo MachineInstr opcode, COPY_TO_SUBCLASS.Dan Gohman2009-04-136-8/+113
| | | | | | | | | | | | | | | | | This will be used to replace things like X86's MOV32to32_. Enhance ScheduleDAGSDNodesEmit to be more flexible and robust in the presense of subregister superclasses and subclasses. It can now cope with the definition of a virtual register being in a subclass of a use. Re-introduce the code for recording register superreg classes and subreg classes. This is needed because when subreg extracts and inserts get coalesced away, the virtual registers are left in the correct subclass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68961 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize getRegisterClassForRegister to handle registersDan Gohman2009-04-131-4/+40
| | | | | | | | | in multiple classes in the case that the classes are all in subset/superset relations. This function is used by the fast-isel emitter, which always wants the super-most set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68957 91177308-0d34-0410-b5e6-96231b3b80d8
* 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