Bob Wilson
e93c1add9e
Add a MnemonicIsValid method to the asm matcher.
...
Patch by Bill Wendling.
llvm-svn: 124328
2011-01-26 21:43:46 +00:00
Devang Patel
bd203876fa
Revert 124301.
...
llvm-svn: 124327
2011-01-26 21:41:22 +00:00
Bob Wilson
6675dea05d
Fix spelling of CouldMatchAmbiguouslyWith method name.
...
llvm-svn: 124324
2011-01-26 21:26:21 +00:00
Bob Wilson
397316f33a
Whitespace and 80-column fixes.
...
llvm-svn: 124323
2011-01-26 21:26:19 +00:00
Devang Patel
ac5d878d16
Revert r124302
...
llvm-svn: 124320
2011-01-26 21:12:32 +00:00
Bill Wendling
5913724ac2
Add support for printing out floating point values from the ARM assembly
...
parser. The parser will always give us a binary representation of the floating
point number.
llvm-svn: 124318
2011-01-26 20:57:43 +00:00
Bob Wilson
6850ea9790
Improve the AsmMatcher's ability to handle suboperands.
...
When an operand class is defined with MIOperandInfo set to a list of
suboperands, the AsmMatcher has so far required that operand to also define
a custom ParserMatchClass, and InstAlias patterns have not been able to
set the individual suboperands separately. This patch removes both of those
restrictions. If a "compound" operand does not override the default
ParserMatchClass, then the AsmMatcher will now parse its suboperands
separately. If an InstAlias operand has the same class as the corresponding
compound operand, then it will be handled as before; but if that check fails,
TableGen will now try to match up a sequence of InstAlias operands with the
corresponding suboperands.
llvm-svn: 124314
2011-01-26 19:44:55 +00:00
Eric Christopher
54f709d970
Temporarily revert 124275 to see if it brings the dragonegg buildbot back.
...
llvm-svn: 124312
2011-01-26 19:40:31 +00:00
Devang Patel
fab4616981
- Do not try to print nameless variable's info.
...
- Print a summary of breakpoints in the beginning.
llvm-svn: 124308
2011-01-26 19:14:14 +00:00
David Greene
5c173a307b
[AVX] Add INSERT_SUBVECTOR and support it on x86. This provides a
...
default implementation for x86, going through the stack in a similr
fashion to how the codegen implements BUILD_VECTOR. Eventually this
will get matched to VINSERTF128 if AVX is available.
llvm-svn: 124307
2011-01-26 19:13:22 +00:00
Devang Patel
3f443cbd7b
While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal nodes.
...
llvm-svn: 124302
2011-01-26 18:55:05 +00:00
Devang Patel
b7f86b1453
Process valid SDDbgValues even if the node does not have any order assigned.
...
llvm-svn: 124301
2011-01-26 18:42:32 +00:00
Devang Patel
c74abe4ded
Refactor.
...
llvm-svn: 124300
2011-01-26 18:20:04 +00:00
David Greene
93b74739e7
[AVX] Support EXTRACT_SUBVECTOR on x86. This provides a default
...
implementation of EXTRACT_SUBVECTOR for x86, going through the stack
in a similr fashion to how the codegen implements BUILD_VECTOR.
Eventually this will get matched to VEXTRACTF128 if AVX is available.
llvm-svn: 124292
2011-01-26 15:38:49 +00:00
Bruno Cardoso Lopes
228d126d6f
Add encoding testcases for ARM vcvtr variations
...
llvm-svn: 124289
2011-01-26 13:53:38 +00:00
Bruno Cardoso Lopes
2d6bd03b18
fix the encoding and add testcases for ARM nop, yield, wfe and wfi instructions
...
llvm-svn: 124288
2011-01-26 13:28:14 +00:00
Duncan Sands
e1912ca7e0
Fix PR9039, a use-after-free in reassociate. The issue was that the
...
operand being factorized (and erased) could occur several times in Ops,
resulting in freed memory being used when the next occurrence in Ops was
analyzed.
llvm-svn: 124287
2011-01-26 10:08:38 +00:00
Nick Lewycky
8c38fe01dd
AttrListPtr has an overloaded operator== which does this for us, we should use
...
it. No functionality change!
llvm-svn: 124286
2011-01-26 09:23:19 +00:00
Nick Lewycky
e4eac7ff9a
Teach mergefunc that intptr_t is the same width as a pointer. We still can't
...
merge vector<intptr_t>::push_back() and vector<void*>::push_back() because
Enumerate() doesn't realize that "i64* null" and "i8** null" are equivalent.
llvm-svn: 124285
2011-01-26 09:13:58 +00:00
Nick Lewycky
41fa5796ca
There are no vectors of pointer or arrays, so we don't need to check vector
...
elements for type equivalence.
llvm-svn: 124284
2011-01-26 08:50:18 +00:00
Duncan Sands
803522ec6f
APInt has a method for determining whether a number is a power of 2
...
which is more efficient than countPopulation - use it.
llvm-svn: 124283
2011-01-26 08:44:16 +00:00
Nick Lewycky
fc7a74c9a0
Fix memory corruption. If one of the SCEV creation functions calls another but
...
doesn't return immediately after then the insert position in UniqueSCEVs will
be out of date. No test because this is a memory corruption issue. Fixes PR9051!
llvm-svn: 124282
2011-01-26 08:40:22 +00:00
Eric Christopher
cb32adbd3f
Separate out the constant bonus from the size reduction metrics. Rework
...
a few loops accordingly. Should be no functional change.
This is a step for more accurate cost/benefit analysis of devirt/inlining
bonuses.
llvm-svn: 124275
2011-01-26 02:58:39 +00:00
Bill Wendling
a4abd1fc4b
Add needed braces.
...
llvm-svn: 124273
2011-01-26 02:06:22 +00:00
NAKAMURA Takumi
8ace7260cc
Target/X86: Tweak win64's tailcall.
...
llvm-svn: 124272
2011-01-26 02:04:09 +00:00
NAKAMURA Takumi
a2cf7854a1
TableGen: PointerLikeRegClass can be accepted to operand.
...
llvm-svn: 124271
2011-01-26 02:03:48 +00:00
NAKAMURA Takumi
066378440a
Fix whitespace.
...
llvm-svn: 124270
2011-01-26 02:03:37 +00:00
NAKAMURA Takumi
a3d094f248
lib/Target/X86/X86RegisterInfo.cpp: Fix whitespace.
...
llvm-svn: 124268
2011-01-26 01:28:06 +00:00
NAKAMURA Takumi
1557668f7b
lib/Target/X86/X86RegisterInfo.cpp: Fix a typo in comment.
...
llvm-svn: 124267
2011-01-26 01:27:58 +00:00
Eric Christopher
45e584b1b7
Coding style formatting changes.
...
llvm-svn: 124260
2011-01-26 01:09:59 +00:00
Jakob Stoklund Olesen
5c0fcc03af
Rename member variables to follow the rest of LLVM.
...
No functional change.
llvm-svn: 124257
2011-01-26 00:50:53 +00:00
Devang Patel
134e5b7679
Provide an interface to transfer SDDbgValue from one SDNode to another.
...
llvm-svn: 124245
2011-01-25 23:27:42 +00:00
David Greene
3933f264a6
[AVX] Fix a typo in the extract subvector type constraints to specify
...
the correct number of operands.
llvm-svn: 124234
2011-01-25 22:05:41 +00:00
Bill Wendling
69916a2e10
Revert 124230. It was causing test failures.
...
llvm-svn: 124233
2011-01-25 21:48:36 +00:00
Bill Wendling
80dd6f7494
The floating point value is encoded in its binary form as an Imm. Convert it
...
appropriately so that it prints out the decimal representation.
llvm-svn: 124230
2011-01-25 21:27:46 +00:00
Bill Wendling
195d8c3988
Add support for parsing a Real value. It stores the Real value as its binary
...
encoding. It's up to the individual back-ends to convert it to their preferred
representation when printing.
llvm-svn: 124229
2011-01-25 21:26:41 +00:00
Rafael Espindola
29e8317caa
Move unnamed_addr after the function arguments on Sabre's request.
...
llvm-svn: 124209
2011-01-25 19:09:56 +00:00
Devang Patel
fce915414e
Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value intrinisic.
...
llvm-svn: 124203
2011-01-25 18:09:58 +00:00
Devang Patel
e1d739cd64
This assertion is too restrictive, it does not apply for dangling dbg value nodes (nodes where dbg.value intrinsic preceds use of the value).
...
llvm-svn: 124202
2011-01-25 18:09:33 +00:00
David Greene
b90e7ec2dc
[AVX] Add TableGen classes for vector/subvector type constraints.
...
This will be used to check patterns referencing a forthcoming
INSERT_SUBVECTOR SDNode and will also be used to check
EXTRACT_SUBVECTOR nodes.
llvm-svn: 124191
2011-01-25 16:16:32 +00:00
Duncan Sands
017a3d76f7
In which I discover that zero+zero is zero, d'oh!
...
llvm-svn: 124188
2011-01-25 15:14:15 +00:00
Jay Foad
31729c4638
Avoid compiler errors when this header file is included first, by adding
...
a forward declaration of simplify_type<>.
llvm-svn: 124187
2011-01-25 14:33:33 +00:00
Duncan Sands
76eef3df7e
Turn off this test - the corresponding instsimplify logic has been
...
disabled.
llvm-svn: 124185
2011-01-25 12:31:43 +00:00
Duncan Sands
4d8a541ae2
See if this fixes llvm-gcc bootstrap.
...
llvm-svn: 124184
2011-01-25 12:15:09 +00:00
Duncan Sands
92b081bd42
According to my auto-simplifier the most common missed simplifications in
...
optimized code are:
(non-negative number)+(power-of-two) != 0 -> true
and
(x | 1) != 0 -> true
Instcombine knows about the second one of course, but only does it if X|1
has only one use. These fire thousands of times in the testsuite.
llvm-svn: 124183
2011-01-25 09:38:29 +00:00
Nick Lewycky
b20b284b35
Teach mergefunc how to emit aliases safely again -- but keep it turned it off
...
for now. It's controlled by the HasGlobalAliases variable which is not attached
to any flag yet.
llvm-svn: 124182
2011-01-25 08:56:50 +00:00
Eric Christopher
8c76a85e48
Reorganize this so that the early exit and special cases come early
...
rather than interspersed. No functional change.
llvm-svn: 124168
2011-01-25 01:34:31 +00:00
Evan Cheng
8e47a6e196
Don't merge restore with tail call instruction.
...
llvm-svn: 124167
2011-01-25 01:28:33 +00:00
Daniel Dunbar
c07888ef8d
tblgen/AsmMatcherEmitter: Fix alias handling to honor -match-prefix.
...
llvm-svn: 124154
2011-01-24 23:26:31 +00:00
Anton Korobeynikov
964b274578
Provide correct registers for EH stuff on ARM
...
llvm-svn: 124151
2011-01-24 22:38:45 +00:00