Duncan Sands
69bdb585b2
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
91543447a6
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
82d4db8662
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
fb622f9920
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
8a33733228
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
d9e6b4a8ff
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
078159e310
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
d13d13496f
Add needed braces.
...
llvm-svn: 124273
2011-01-26 02:06:22 +00:00
NAKAMURA Takumi
0cfdac078e
Target/X86: Tweak win64's tailcall.
...
llvm-svn: 124272
2011-01-26 02:04:09 +00:00
NAKAMURA Takumi
31aafbd501
TableGen: PointerLikeRegClass can be accepted to operand.
...
llvm-svn: 124271
2011-01-26 02:03:48 +00:00
NAKAMURA Takumi
9d29eff198
Fix whitespace.
...
llvm-svn: 124270
2011-01-26 02:03:37 +00:00
NAKAMURA Takumi
c780782560
lib/Target/X86/X86RegisterInfo.cpp: Fix whitespace.
...
llvm-svn: 124268
2011-01-26 01:28:06 +00:00
NAKAMURA Takumi
86278dc3ea
lib/Target/X86/X86RegisterInfo.cpp: Fix a typo in comment.
...
llvm-svn: 124267
2011-01-26 01:27:58 +00:00
Eric Christopher
58f157a677
Coding style formatting changes.
...
llvm-svn: 124260
2011-01-26 01:09:59 +00:00
Jakob Stoklund Olesen
b308902024
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
efc6b16e4b
Provide an interface to transfer SDDbgValue from one SDNode to another.
...
llvm-svn: 124245
2011-01-25 23:27:42 +00:00
David Greene
78221d4679
[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
57990c4910
Revert 124230. It was causing test failures.
...
llvm-svn: 124233
2011-01-25 21:48:36 +00:00
Bill Wendling
624cef696d
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
cdbf17b179
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
563eb4bb6c
Move unnamed_addr after the function arguments on Sabre's request.
...
llvm-svn: 124209
2011-01-25 19:09:56 +00:00
Devang Patel
70f8e5962a
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
04b649d48a
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
672a4a297e
[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
9e9d5b25e2
In which I discover that zero+zero is zero, d'oh!
...
llvm-svn: 124188
2011-01-25 15:14:15 +00:00
Jay Foad
0c125f9f02
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
c78548d791
Turn off this test - the corresponding instsimplify logic has been
...
disabled.
llvm-svn: 124185
2011-01-25 12:31:43 +00:00
Duncan Sands
fced7620f5
See if this fixes llvm-gcc bootstrap.
...
llvm-svn: 124184
2011-01-25 12:15:09 +00:00
Duncan Sands
d395108394
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
f1cec164ce
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
cd087f2512
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
d6093ff4cb
Don't merge restore with tail call instruction.
...
llvm-svn: 124167
2011-01-25 01:28:33 +00:00
Daniel Dunbar
83381d001b
tblgen/AsmMatcherEmitter: Fix alias handling to honor -match-prefix.
...
llvm-svn: 124154
2011-01-24 23:26:31 +00:00
Anton Korobeynikov
f3a62314f3
Provide correct registers for EH stuff on ARM
...
llvm-svn: 124151
2011-01-24 22:38:45 +00:00
Anton Korobeynikov
b15beb2ae1
Support printing exception section into the current one. This is the case when LSDASection is blank
...
llvm-svn: 124150
2011-01-24 22:38:40 +00:00
Eric Christopher
6e959a5687
Perhaps a bit too much vertical whitespace.
...
llvm-svn: 124148
2011-01-24 22:19:14 +00:00
David Greene
127fd1d540
[AVX] Add type checking support for vector/subvector type constraints.
...
This will be used to check patterns referencing a forthcoming
INSERT_SUBVECTOR SDNode. INSERT_SUBVECTOR in turn is very useful for
matching to VINSERTF128 instructions and complements the already
existing EXTRACT_SUBVECTOR SDNode.
llvm-svn: 124145
2011-01-24 20:53:18 +00:00
Devang Patel
533479544b
Speculatively revert r124138.
...
llvm-svn: 124142
2011-01-24 20:04:37 +00:00
Rafael Espindola
78c9f78fc9
Jörg Sonnenberger noticed that we were missing this test.
...
llvm-svn: 124139
2011-01-24 19:40:38 +00:00
Devang Patel
8cc5355c90
Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value intrinisic.
...
llvm-svn: 124138
2011-01-24 19:24:37 +00:00
Andrew Trick
a293c49f0d
Temporarily workaround JM/lencod miscompile (SIGSEGV).
...
rdar://problem/8893967
llvm-svn: 124137
2011-01-24 19:08:15 +00:00
Dan Gohman
0f124e1987
Give GetUnderlyingObject a TargetData, to keep it in sync
...
with BasicAA's DecomposeGEPExpression, which recently began
using a TargetData. This fixes PR8968, though the testcase
is awkward to reduce.
Also, update several off GetUnderlyingObject's users
which happen to have a TargetData handy to pass it in.
llvm-svn: 124134
2011-01-24 18:53:32 +00:00
Chris Lattner
f277b5d434
fix PR8928 by clearing a stale map, patch by Jakub Staszak!
...
llvm-svn: 124132
2011-01-24 18:36:51 +00:00
Duncan Sands
f7bde9a192
Testcase for dragonegg commit 124128.
...
llvm-svn: 124129
2011-01-24 18:04:33 +00:00
Rafael Espindola
689939e648
Handle strings in section names the same way as gas:
...
* If the name is a single string, we remove the quotes
* If the name starts without a quote, we include any quotes in the name
llvm-svn: 124127
2011-01-24 18:02:54 +00:00
Dan Gohman
3ac8cd614f
Add a comment.
...
llvm-svn: 124126
2011-01-24 17:54:18 +00:00
Dan Gohman
4deda530c2
Add another rdar number.
...
llvm-svn: 124125
2011-01-24 17:54:01 +00:00
Daniel Dunbar
72d523beab
Support/CommandLine: Fix LookupNearestOption to also search extra option names.
...
llvm-svn: 124124
2011-01-24 17:27:17 +00:00
Chris Lattner
bf638d2a0d
fix a missing shuffle pattern, PR9009. Patch by Artiom Myaskouvskey!
...
llvm-svn: 124102
2011-01-24 03:42:46 +00:00
Chris Lattner
2bcec1297e
merge all the "crash tests" into crash.ll
...
llvm-svn: 124101
2011-01-24 03:37:34 +00:00