NAKAMURA Takumi
7754f85885
Target/X86: Tweak win64's tailcall.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124272 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 02:04:09 +00:00
NAKAMURA Takumi
36c3bc431b
TableGen: PointerLikeRegClass can be accepted to operand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124271 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 02:03:48 +00:00
NAKAMURA Takumi
e5fffe9c3f
Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124270 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 02:03:37 +00:00
NAKAMURA Takumi
c5b7a4223d
lib/Target/X86/X86RegisterInfo.cpp: Fix whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 01:28:06 +00:00
NAKAMURA Takumi
b901076387
lib/Target/X86/X86RegisterInfo.cpp: Fix a typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124267 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 01:27:58 +00:00
Eric Christopher
7d3a16f687
Coding style formatting changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124260 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 01:09:59 +00:00
Jakob Stoklund Olesen
078628465b
Rename member variables to follow the rest of LLVM.
...
No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124257 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-26 00:50:53 +00:00
Devang Patel
a2e868d34c
Provide an interface to transfer SDDbgValue from one SDNode to another.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124245 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 23:27:42 +00:00
David Greene
e13359732a
[AVX] Fix a typo in the extract subvector type constraints to specify
...
the correct number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124234 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 22:05:41 +00:00
Bill Wendling
0f4db7efa1
Revert 124230. It was causing test failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124233 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 21:48:36 +00:00
Bill Wendling
261b9c1a35
The floating point value is encoded in its binary form as an Imm. Convert it
...
appropriately so that it prints out the decimal representation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124230 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 21:27:46 +00:00
Bill Wendling
69c4ef321c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124229 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 21:26:41 +00:00
Rafael Espindola
3971df5203
Move unnamed_addr after the function arguments on Sabre's request.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124209 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 19:09:56 +00:00
Devang Patel
8f31428119
Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value intrinisic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124203 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 18:09:58 +00:00
Devang Patel
3a00ffacdc
This assertion is too restrictive, it does not apply for dangling dbg value nodes (nodes where dbg.value intrinsic preceds use of the value).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124202 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 18:09:33 +00:00
David Greene
b5b80a93f6
[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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124191 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 16:16:32 +00:00
Duncan Sands
227fba11ca
In which I discover that zero+zero is zero, d'oh!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124188 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 15:14:15 +00:00
Jay Foad
afde5188f2
Avoid compiler errors when this header file is included first, by adding
...
a forward declaration of simplify_type<>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124187 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 14:33:33 +00:00
Duncan Sands
dadcf8eedd
Turn off this test - the corresponding instsimplify logic has been
...
disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124185 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 12:31:43 +00:00
Duncan Sands
2539b73128
See if this fixes llvm-gcc bootstrap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124184 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 12:15:09 +00:00
Duncan Sands
d70d1a5c44
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124183 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 09:38:29 +00:00
Nick Lewycky
b38824f866
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124182 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 08:56:50 +00:00
Eric Christopher
1bcb4288e5
Reorganize this so that the early exit and special cases come early
...
rather than interspersed. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124168 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 01:34:31 +00:00
Evan Cheng
7cfa656ad8
Don't merge restore with tail call instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-25 01:28:33 +00:00
Daniel Dunbar
c0a7007d3a
tblgen/AsmMatcherEmitter: Fix alias handling to honor -match-prefix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124154 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 23:26:31 +00:00
Anton Korobeynikov
5899a60d2f
Provide correct registers for EH stuff on ARM
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124151 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 22:38:45 +00:00
Anton Korobeynikov
d4e0978752
Support printing exception section into the current one. This is the case when LSDASection is blank
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124150 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 22:38:40 +00:00
Eric Christopher
0f13bc8c23
Perhaps a bit too much vertical whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124148 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 22:19:14 +00:00
David Greene
6032269837
[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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 20:53:18 +00:00
Devang Patel
a3ee3ef71b
Speculatively revert r124138.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 20:04:37 +00:00
Rafael Espindola
59b8cf4512
Jörg Sonnenberger noticed that we were missing this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124139 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 19:40:38 +00:00
Devang Patel
224a180d11
Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value intrinisic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124138 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 19:24:37 +00:00
Andrew Trick
c48d50f9c0
Temporarily workaround JM/lencod miscompile (SIGSEGV).
...
rdar://problem/8893967
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124137 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 19:08:15 +00:00
Dan Gohman
bd1801b555
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124134 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 18:53:32 +00:00
Chris Lattner
0e3fae27a1
fix PR8928 by clearing a stale map, patch by Jakub Staszak!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124132 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 18:36:51 +00:00
Duncan Sands
1f59e09c9a
Testcase for dragonegg commit 124128.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124129 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 18:04:33 +00:00
Rafael Espindola
184640e96e
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124127 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 18:02:54 +00:00
Dan Gohman
a3bbf2411f
Add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124126 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 17:54:18 +00:00
Dan Gohman
640b9c8fe2
Add another rdar number.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124125 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 17:54:01 +00:00
Daniel Dunbar
c98d82a7f0
Support/CommandLine: Fix LookupNearestOption to also search extra option names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124124 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 17:27:17 +00:00
Chris Lattner
ccea167db5
fix a missing shuffle pattern, PR9009. Patch by Artiom Myaskouvskey!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124102 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 03:42:46 +00:00
Chris Lattner
850bdd2fcc
merge all the "crash tests" into crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124101 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 03:37:34 +00:00
Chris Lattner
867be59684
fix PR9017, a bug where we'd assert when promoting in unreachable
...
code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124100 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 03:29:07 +00:00
Chris Lattner
51e62f0f73
fix PR9015, a crash linking recursive metadata.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124099 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 03:18:24 +00:00
Chris Lattner
96c0771c01
this isn't a memset, we do convert dest[i] to one though :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124097 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 02:32:00 +00:00
Chris Lattner
7ea7d32de6
with recent work, we now optimize this into:
...
define i32 @foo(i32 %x) nounwind readnone ssp {
entry:
%tobool = icmp eq i32 %x, 0
%tmp5 = select i1 %tobool, i32 2, i32 1
ret i32 %tmp5
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124091 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 01:12:18 +00:00
Chris Lattner
e3357863aa
enhance SRoA to promote allocas that are used by PHI nodes. This often
...
occurs because instcombine sinks loads and inserts phis. This kicks in
on such apps as 175.vpr, eon, 403.gcc, xalancbmk and a bunch of times in
spec2006 in some app that uses std::deque.
This resolves the last of rdar://7339113.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124090 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 01:07:11 +00:00
Chris Lattner
c87c50a39c
Enhance SRoA to promote allocas that are used by selects in some
...
common cases. This triggers a surprising number of times in SPEC2K6
because min/max idioms end up doing this. For example, code from the
STL ends up looking like this to SRoA:
%202 = load i64* %__old_size, align 8, !tbaa !3
%203 = load i64* %__old_size, align 8, !tbaa !3
%204 = load i64* %__n, align 8, !tbaa !3
%205 = icmp ult i64 %203, %204
%storemerge.i = select i1 %205, i64* %__n, i64* %__old_size
%206 = load i64* %storemerge.i, align 8, !tbaa !3
We can now promote both the __n and the __old_size allocas.
This addresses another chunk of rdar://7339113, poor codegen on
stringswitch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124088 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 22:04:55 +00:00
Chris Lattner
3928af6ac4
teach Value::isDereferenceablePointer that byval arguments are always
...
dereferencable, noticed by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124085 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 21:15:29 +00:00
Anders Carlsson
f330b3227a
Add a memset loop that LoopIdiomRecognize doesn't recognize.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124082 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 20:31:00 +00:00