summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* set SDNPVariadic on nodes throughout the rest of the targets thatChris Lattner2010-03-198-15/+27
| | | | | | need them. llvm-svn: 98937
* Remove a memory leak from ThumbTargetMachine.Jeffrey Yasskin2010-03-191-2/+6
| | | | llvm-svn: 98936
* add a new SDNPVariadic SDNP node flag, and use it inChris Lattner2010-03-196-6/+14
| | | | | | | | dag isel gen instead of instruction properties. This allows the oh-so-useful behavior of matching a variadic non-root node. llvm-svn: 98934
* rewrite EnforceSmallerThan to be less bone headed.Chris Lattner2010-03-192-64/+80
| | | | llvm-svn: 98933
* remove some damaged sign extend patterns that can never match.Chris Lattner2010-03-191-8/+6
| | | | llvm-svn: 98932
* disable some illegal blackfin patterns. sext from i32 to i32 can neverChris Lattner2010-03-191-5/+5
| | | | | | match. Jakob, please take a look when you get a chance. llvm-svn: 98931
* comment out a bunch of parallel store patterns that apparentlyChris Lattner2010-03-192-14/+44
| | | | | | | can't match or just have no testcases. Will remove after confirmation from dan that they really are dead. llvm-svn: 98930
* Fix -Asserts warnings.Daniel Dunbar2010-03-191-5/+4
| | | | llvm-svn: 98928
* Fix -Asserts warning.Daniel Dunbar2010-03-191-2/+1
| | | | llvm-svn: 98927
* MC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct ↵Daniel Dunbar2010-03-191-1/+59
| | | | | | | | algorithm (used on x86_64) for determining whether an evaluated fixup is fully resolved (doesn't need relocation). - Test cases will follow, once we have x86_64 relocation support. llvm-svn: 98926
* MC/Mach-O/x86_64: Add getAtom[ForAddress].Daniel Dunbar2010-03-192-0/+49
| | | | | | - These find the defining symbol which identifies the containing atom for a symbol or address. They are currently very slow, but will be eliminated eventually. llvm-svn: 98925
* MC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix ↵Daniel Dunbar2010-03-192-60/+125
| | | | | | some corner cases. llvm-svn: 98924
* MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a ↵Daniel Dunbar2010-03-192-10/+24
| | | | | | made up term to refer to non-temporary labels + temporary labels in sections-which-require symbols. For Darwin, it corresponds to symbols which effectively define an atom. llvm-svn: 98923
* Drop KLEE blurb, we don't have anything new.Daniel Dunbar2010-03-191-18/+0
| | | | llvm-svn: 98922
* Fixed a widening bug where we were not using the correct size for the loadMon P Wang2010-03-192-2/+26
| | | | llvm-svn: 98920
* X86: Fix encoding for TEST64rr.Daniel Dunbar2010-03-192-1/+5
| | | | llvm-svn: 98919
* eliminate the last use of EEVT::isUnknownChris Lattner2010-03-193-18/+9
| | | | llvm-svn: 98918
* Remove `ignore` from LLVMC/TestWarnings.td. This avoidsJeffrey Yasskin2010-03-191-1/+1
| | | | | | | https://bugs.kde.org/show_bug.cgi?id=231257 and seems not to have been needed in the first place. llvm-svn: 98917
* Finally change the instruction looking map to be a densemap fromChris Lattner2010-03-194-43/+45
| | | | | | | | | record* -> instrinfo instead of std::string -> instrinfo. This speeds up tblgen on cellcpu from 7.28 -> 5.98s with a debug build (20%). llvm-svn: 98916
* make inst_begin/inst_end iterate over InstructionsByEnumValue.Chris Lattner2010-03-195-45/+39
| | | | | | Use CodeGenTarget::getInstNamespace in one place and fix it. llvm-svn: 98915
* revert 98912Chris Lattner2010-03-195-31/+31
| | | | llvm-svn: 98914
* make inst_begin/inst_end iterate over InstructionsByEnumValue.Chris Lattner2010-03-195-31/+31
| | | | llvm-svn: 98912
* FP16 constfoldingAnton Korobeynikov2010-03-191-0/+25
| | | | llvm-svn: 98911
* change Target.getInstructionsByEnumValue to return a referenceChris Lattner2010-03-1910-37/+41
| | | | | | | to a vector that CGT stores instead of synthesizing it on every call. llvm-svn: 98910
* Revert r98892. BSD systems may not have bash installed at all.Jeffrey Yasskin2010-03-191-1/+1
| | | | llvm-svn: 98909
* factor copy and paste code.Chris Lattner2010-03-191-53/+27
| | | | llvm-svn: 98908
* don't go through getInstructions().Chris Lattner2010-03-193-16/+17
| | | | llvm-svn: 98906
* Bugpoint's default memory limit (100MB) was too low for valgrind, soJeffrey Yasskin2010-03-194-9/+25
| | | | | | | this patch raises the default to 800MB when valgrind's active. 800 was chosen semi-arbitrarily. llvm-svn: 98905
* look up instructions by record, not by name.Chris Lattner2010-03-197-8/+17
| | | | llvm-svn: 98904
* Now that tblgen can handle matching implicit defs of instructionsChris Lattner2010-03-194-131/+104
| | | | | | | | | | | | | | | | | | | | | | | | | to input patterns, we can fix X86ISD::CMP and X86ISD::BT as taking two inputs (which have to be the same type) and *returning an i32*. This is how the SDNodes get made in the graph, but we weren't able to model it this way due to deficiencies in the pattern language. Now we can change things like this: def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, - [(X86cmp RFP80:$lhs, RFP80:$rhs), - (implicit EFLAGS)]>; // CC = ST(0) cmp ST(i) + [(set EFLAGS, (X86cmp RFP80:$lhs, RFP80:$rhs))]>; and fix terrible crimes like this: -def : Pat<(parallel (X86cmp GR8:$src1, 0), (implicit EFLAGS)), +def : Pat<(X86cmp GR8:$src1, 0), (TEST8rr GR8:$src1, GR8:$src1)>; This relies on matching the result of TEST8rr (which is EFLAGS, which is an implicit def) to the result of X86cmp, an i32. llvm-svn: 98903
* Update comment to refer to the right filename.Bob Wilson2010-03-181-1/+1
| | | | llvm-svn: 98902
* tidy upChris Lattner2010-03-181-2/+2
| | | | llvm-svn: 98901
* expand tblgen's support for instructions with implicit defs.Chris Lattner2010-03-182-8/+18
| | | | llvm-svn: 98900
* infer results of a pattern from implicit defs. This allows you to do something Chris Lattner2010-03-182-13/+34
| | | | | | | | | | | | like this: def : Pat<(add ...), (FOOINST)>; When fooinst only has a single implicit def (e.g. to R1). This will be handled as if written as (set R1, (FOOINST ...)) llvm-svn: 98897
* Work around a valgrind oddity where it doesn't pass the full path of aJeffrey Yasskin2010-03-181-1/+1
| | | | | | | | | | script to the #! command by using bash instead of /bin/sh. Bash searches $PATH for its script argument, but dash, which /bin/sh resolves to on some systems, does not. https://bugs.kde.org/show_bug.cgi?id=231257 tracks the valgrind problem. llvm-svn: 98892
* Get rid of target-specific fp <-> int nodes when still I'm here.Anton Korobeynikov2010-03-186-79/+69
| | | | llvm-svn: 98889
* Get rid of target-specific nodes for fp16 <-> fp32 conversion.Anton Korobeynikov2010-03-184-21/+11
| | | | llvm-svn: 98888
* Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass ↵Anton Korobeynikov2010-03-181-29/+39
| | | | | | copies weirdness more straightforward. Also, add GPR <-> SPR copy support. llvm-svn: 98887
* Couple of changes that Dan mentioned for llvm.stackprotector fast-isel.Eric Christopher2010-03-181-2/+2
| | | | llvm-svn: 98881
* X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, weDaniel Dunbar2010-03-182-3/+10
| | | | | | | were missing it on some movq instructions and were not including the appropriate PCrel bias. llvm-svn: 98880
* capture implicit uses and defs in CodeGenInstructionChris Lattner2010-03-182-0/+6
| | | | llvm-svn: 98879
* simplify this code, the # of sets in the pattern for an instructionChris Lattner2010-03-181-2/+1
| | | | | | shouldn't change this. llvm-svn: 98872
* disallow concatenation of two dags with different operators.Chris Lattner2010-03-181-12/+2
| | | | llvm-svn: 98871
* rewrite this to not artificially force concat the ins/outs list.Chris Lattner2010-03-181-13/+20
| | | | llvm-svn: 98870
* fix some buggy ops concatentationChris Lattner2010-03-181-12/+12
| | | | llvm-svn: 98869
* eliminate support for "ops" in the input/output list of anChris Lattner2010-03-181-4/+2
| | | | | | instruction. Instructions must use 'ins' and 'outs' now. llvm-svn: 98868
* use ins/outsChris Lattner2010-03-181-24/+24
| | | | llvm-svn: 98867
* use ins/outs.Chris Lattner2010-03-182-49/+49
| | | | llvm-svn: 98866
* remove some code that was working around old sparc v9 backend bugs.Chris Lattner2010-03-183-22/+24
| | | | | | Add checking that the input/output operand list in spelled right. llvm-svn: 98865
* outs come before ins.Chris Lattner2010-03-181-3/+3
| | | | llvm-svn: 98864
OpenPOWER on IntegriCloud