Bob Wilson
4f559a3042
Revert 98907 since it is breaking buildbots.
...
--- Reverse-merging r98907 into '.':
D test/Index/c-index-getCursor-pp.c
U tools/CIndex/CIndex.cpp
llvm-svn: 98929
2010-03-19 03:57:57 +00:00
Daniel Dunbar
857955243e
Fix -Asserts warnings.
...
llvm-svn: 98928
2010-03-19 03:18:23 +00:00
Daniel Dunbar
ec71ba25e5
Fix -Asserts warning.
...
llvm-svn: 98927
2010-03-19 03:18:20 +00:00
Daniel Dunbar
0f7fbb3d00
MC/Mach-O: Add isScatteredFixupFullyResolved, which implements the correct 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
2010-03-19 03:18:18 +00:00
Daniel Dunbar
6e13bb07fb
MC/Mach-O/x86_64: Add getAtom[ForAddress].
...
- 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
2010-03-19 03:18:15 +00:00
Daniel Dunbar
5ec4bdd1b3
MC/Mach-O: Factor out isScatteredFixupFullyResolvedSimple predicate, and fix some corner cases.
...
llvm-svn: 98924
2010-03-19 03:18:12 +00:00
Daniel Dunbar
c558ec211f
MC/Mach-O: Factor out isSymbolLinkerVisible method; "linker visible" is a 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
2010-03-19 03:18:09 +00:00
Daniel Dunbar
fab9b02fc8
Drop KLEE blurb, we don't have anything new.
...
llvm-svn: 98922
2010-03-19 03:18:05 +00:00
Mon P Wang
7ad43f8768
Fixed a widening bug where we were not using the correct size for the load
...
llvm-svn: 98920
2010-03-19 01:19:52 +00:00
Daniel Dunbar
c9deca20e8
X86: Fix encoding for TEST64rr.
...
llvm-svn: 98919
2010-03-19 01:15:03 +00:00
Chris Lattner
da5b4ad03e
eliminate the last use of EEVT::isUnknown
...
llvm-svn: 98918
2010-03-19 01:14:27 +00:00
Jeffrey Yasskin
fbd0109ca4
Remove `ignore` from LLVMC/TestWarnings.td. This avoids
...
https://bugs.kde.org/show_bug.cgi?id=231257 and seems not to have been
needed in the first place.
llvm-svn: 98917
2010-03-19 01:10:41 +00:00
Chris Lattner
1802b17b65
Finally change the instruction looking map to be a densemap from
...
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
2010-03-19 01:07:44 +00:00
Chris Lattner
4763dbeaf6
make inst_begin/inst_end iterate over InstructionsByEnumValue.
...
Use CodeGenTarget::getInstNamespace in one place and fix it.
llvm-svn: 98915
2010-03-19 01:00:55 +00:00
Chris Lattner
2d822ab185
revert 98912
...
llvm-svn: 98914
2010-03-19 00:50:47 +00:00
Chris Lattner
45e2fc5ac1
make inst_begin/inst_end iterate over InstructionsByEnumValue.
...
llvm-svn: 98912
2010-03-19 00:40:22 +00:00
Anton Korobeynikov
065232fcd1
FP16 constfolding
...
llvm-svn: 98911
2010-03-19 00:36:35 +00:00
Chris Lattner
918be520dc
change Target.getInstructionsByEnumValue to return a reference
...
to a vector that CGT stores instead of synthesizing it on every
call.
llvm-svn: 98910
2010-03-19 00:34:35 +00:00
Jeffrey Yasskin
1734e47d20
Revert r98892. BSD systems may not have bash installed at all.
...
llvm-svn: 98909
2010-03-19 00:32:11 +00:00
Chris Lattner
c9ae94c793
factor copy and paste code.
...
llvm-svn: 98908
2010-03-19 00:23:20 +00:00
Douglas Gregor
20004ee7d2
Visit preprocessing elements (macro instantiations and macro
...
definitions) as part of the translation unit, so that normal
visitation, token-annotation, and cursor-at retrieval all see
preprocessing elements.
llvm-svn: 98907
2010-03-19 00:18:31 +00:00
Chris Lattner
70eb897d7c
don't go through getInstructions().
...
llvm-svn: 98906
2010-03-19 00:18:23 +00:00
Jeffrey Yasskin
71bd0f4eda
Bugpoint's default memory limit (100MB) was too low for valgrind, so
...
this patch raises the default to 800MB when valgrind's active. 800
was chosen semi-arbitrarily.
llvm-svn: 98905
2010-03-19 00:09:28 +00:00
Chris Lattner
9aec14b560
look up instructions by record, not by name.
...
llvm-svn: 98904
2010-03-19 00:07:20 +00:00
Chris Lattner
83facb0812
Now that tblgen can handle matching implicit defs of instructions
...
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
2010-03-19 00:01:11 +00:00
Bob Wilson
a4d86b63c7
Update comment to refer to the right filename.
...
llvm-svn: 98902
2010-03-18 23:57:57 +00:00
Chris Lattner
8e9b895c37
tidy up
...
llvm-svn: 98901
2010-03-18 23:57:57 +00:00
Chris Lattner
63a627cd88
expand tblgen's support for instructions with implicit defs.
...
llvm-svn: 98900
2010-03-18 23:57:40 +00:00
John McCall
a332b953e8
When elevating access along an inheritance path, initialize the computed
...
access to the (elevated) access of the accessed declaration, if applicable,
rather than plunking that access onto the end after we've calculated the
inheritance access.
Also, being a friend of a derived class gives you public access to its
members (subject to later modification by further inheritance); it does
not simply ignore a single location of restricted inheritance.
Also, when computing the best unprivileged path to a subobject, preserve
the information that the worst path might be AS_none (forbidden) rather
than a minimum of AS_private.
llvm-svn: 98899
2010-03-18 23:49:19 +00:00
Douglas Gregor
c6b5a3df1e
For debug information, get the main file name from the source manager
...
rather than from the -main-file-name flag, since the source manager
has proper path information. Fixes <rdar://problem/7769538>.
llvm-svn: 98898
2010-03-18 23:46:43 +00:00
Chris Lattner
fdc20711e8
infer results of a pattern from implicit defs. This allows you to do something
...
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
2010-03-18 23:15:10 +00:00
Jeffrey Yasskin
3eb346caeb
Work around a valgrind oddity where it doesn't pass the full path of a
...
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
2010-03-18 22:56:02 +00:00
Anton Korobeynikov
f11aa9e7b4
Get rid of target-specific fp <-> int nodes when still I'm here.
...
llvm-svn: 98889
2010-03-18 22:35:45 +00:00
Anton Korobeynikov
64578d5599
Get rid of target-specific nodes for fp16 <-> fp32 conversion.
...
llvm-svn: 98888
2010-03-18 22:35:37 +00:00
Anton Korobeynikov
422dd6608a
Refactor Reg-Reg copy emission routine for ARM. This makes cross-regclass copies weirdness more straightforward. Also, add GPR <-> SPR copy support.
...
llvm-svn: 98887
2010-03-18 22:35:02 +00:00
Eric Christopher
5e95aee159
Couple of changes that Dan mentioned for llvm.stackprotector fast-isel.
...
llvm-svn: 98881
2010-03-18 21:58:33 +00:00
Daniel Dunbar
2ca1108254
X86MCCodeEmitter: Fix two minor issues with reloc_riprel_4byte_movq_load, we
...
were missing it on some movq instructions and were not including the appropriate
PCrel bias.
llvm-svn: 98880
2010-03-18 21:53:54 +00:00
Chris Lattner
2130a3e0af
capture implicit uses and defs in CodeGenInstruction
...
llvm-svn: 98879
2010-03-18 21:42:03 +00:00
Douglas Gregor
e56c353eb1
Try to appease MSVC's standard library
...
llvm-svn: 98878
2010-03-18 21:28:30 +00:00
Douglas Gregor
5810ead358
Try to appease MSVC
...
llvm-svn: 98875
2010-03-18 21:25:12 +00:00
Ted Kremenek
361ffd947c
Make PredefinedExpr::ComputeName() more robust to incorrect
...
code when we are printing the name of an Objective-C method
whose class has not been declared. Fixes <rdar://problem/7495713>.
llvm-svn: 98874
2010-03-18 21:23:08 +00:00
Ted Kremenek
abb1dddfcd
Add bounds check in PCHReader. when reading source file entry record
...
llvm-svn: 98873
2010-03-18 21:23:05 +00:00
Chris Lattner
13590892e7
simplify this code, the # of sets in the pattern for an instruction
...
shouldn't change this.
llvm-svn: 98872
2010-03-18 21:15:05 +00:00
Chris Lattner
81fd1f20ba
disallow concatenation of two dags with different operators.
...
llvm-svn: 98871
2010-03-18 21:07:51 +00:00
Chris Lattner
1f22d278f3
rewrite this to not artificially force concat the ins/outs list.
...
llvm-svn: 98870
2010-03-18 21:07:39 +00:00
Chris Lattner
fb2ceede8f
fix some buggy ops concatentation
...
llvm-svn: 98869
2010-03-18 21:06:54 +00:00
Chris Lattner
0f03747577
eliminate support for "ops" in the input/output list of an
...
instruction. Instructions must use 'ins' and 'outs' now.
llvm-svn: 98868
2010-03-18 20:56:35 +00:00
Chris Lattner
b7f6d172b8
use ins/outs
...
llvm-svn: 98867
2010-03-18 20:55:31 +00:00
Chris Lattner
983b479c91
use ins/outs.
...
llvm-svn: 98866
2010-03-18 20:55:18 +00:00
Chris Lattner
5f418eafdc
remove some code that was working around old sparc v9 backend bugs.
...
Add checking that the input/output operand list in spelled right.
llvm-svn: 98865
2010-03-18 20:50:52 +00:00