| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
lowered using a series of shifts.
Fixes <rdar://problem/8285015>.
llvm-svn: 114599
|
|
|
|
| |
llvm-svn: 114597
|
|
|
|
|
|
|
|
| |
CombineTo to avoid putting the result on the worklist. I don't think it makes
much difference for now, but it might help someday as we add more DAG
combine optimizations.
llvm-svn: 114595
|
|
|
|
| |
llvm-svn: 114594
|
|
|
|
| |
llvm-svn: 114592
|
|
|
|
|
|
|
|
| |
of those. Refactor to share code for handling BUILD_VECTOR(VMOVRRD).
I don't have a testcase that exercises this, but it seems like an obvious
good thing to do.
llvm-svn: 114589
|
|
|
|
| |
llvm-svn: 114588
|
|
|
|
| |
llvm-svn: 114585
|
|
|
|
| |
llvm-svn: 114578
|
|
|
|
|
|
| |
needs to happen for darwin.
llvm-svn: 114577
|
|
|
|
| |
llvm-svn: 114576
|
|
|
|
| |
llvm-svn: 114570
|
|
|
|
|
|
|
|
| |
truncates are free only in the case where the extended type is legal but the
load type is not. If both types are illegal, such as when they are too big,
the load may not be legalized into an extended load.
llvm-svn: 114568
|
|
|
|
| |
llvm-svn: 114563
|
|
|
|
| |
llvm-svn: 114561
|
|
|
|
| |
llvm-svn: 114560
|
|
|
|
|
|
|
| |
end up altering the thread on which crashes are done because of its use of
Darwin's broken raise() implementation.
llvm-svn: 114558
|
|
|
|
| |
llvm-svn: 114556
|
|
|
|
| |
llvm-svn: 114555
|
|
|
|
|
|
|
|
| |
ARM cross-compiler on x86, because the MMO size did not match the type size.
This fixes the MMO size and also the size of the stack object to match the
type size.
llvm-svn: 114554
|
|
|
|
| |
llvm-svn: 114553
|
|
|
|
| |
llvm-svn: 114550
|
|
|
|
| |
llvm-svn: 114536
|
|
|
|
|
|
|
|
|
|
|
|
| |
x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly
named "callq", so this only impacted x86-32.
This fixes rdar://8456370 - llvm-mc rejects 'calll'
This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call,
I will file a bugzilla.
llvm-svn: 114534
|
|
|
|
|
|
| |
Teaching the code generator about CR8-15, how to rex them up, etc.
llvm-svn: 114533
|
|
|
|
| |
llvm-svn: 114532
|
|
|
|
| |
llvm-svn: 114531
|
|
|
|
|
|
| |
SegmentBaseAddress.
llvm-svn: 114529
|
|
|
|
| |
llvm-svn: 114528
|
|
|
|
|
|
|
|
|
| |
-This line, and those below, will be ignored--
M test/MC/AsmParser/X86/x86_instructions.s
M lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm-svn: 114527
|
|
|
|
| |
llvm-svn: 114526
|
|
|
|
| |
llvm-svn: 114523
|
|
|
|
|
|
| |
can access the stack due to how it is generated though.
llvm-svn: 114522
|
|
|
|
|
|
| |
used with stack slots, but hey, lets be safe.
llvm-svn: 114521
|
|
|
|
| |
llvm-svn: 114515
|
|
|
|
|
|
| |
call through gs-relative memory now.
llvm-svn: 114510
|
|
|
|
|
|
| |
256/257
llvm-svn: 114508
|
|
|
|
|
|
| |
when the 'and' instruction is after the comparison.
llvm-svn: 114506
|
|
|
|
|
|
| |
the rest of it is next up.
llvm-svn: 114500
|
|
|
|
|
|
|
|
| |
this makes
irrelevant, but add a new test for the new, improved functionality.
llvm-svn: 114494
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
creating it before and subtracting split ranges.
This way, the SSA update code in LiveIntervalMap can properly create and use new
phi values in dupli. Now it is possible to create split regions where a value
escapes along two different CFG edges, creating phi values outside the split
region.
This is a work in progress and probably quite broken.
llvm-svn: 114492
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by having X86DAGToDAGISel::SelectAddr get passed in the parent node
of the operand match (the load/store/atomic op) and having it get
the address space from that, instead of having special FS/GS addr
mode operations that require duplicating the entire instruction set
to support.
This makes FS and GS relative accesses *far* more predictable and
work much better. It also simplifies the X86 backend a bit, more
to come.
There is still a pending issue with nodes like ISD::PREFETCH and
X86ISD::FLD, which really should be MemSDNode's but aren't.
llvm-svn: 114491
|
|
|
|
| |
llvm-svn: 114490
|
|
|
|
|
|
|
|
| |
that complex patterns are matched after the entire pattern has
a structural match, therefore the NodeStack isn't in a useful
state when the actual call to the matcher happens.
llvm-svn: 114489
|
|
|
|
|
|
|
| |
load when the type of the load is not legal, even if truncates are not free.
The load is going to be legalized to an extending load anyway.
llvm-svn: 114488
|
|
|
|
| |
llvm-svn: 114487
|
|
|
|
|
|
|
|
|
| |
current basic block then insert DBG_VALUE so that debug value of the variable is also transfered to new vreg.
Testcase is in r114476.
This fixes radar 8412415.
llvm-svn: 114478
|
|
|
|
| |
llvm-svn: 114474
|
|
|
|
|
|
|
|
|
| |
target-dependent, by using
the predicate to discover the number of sign bits. Enhance X86's target lowering to provide
a useful response to this query.
llvm-svn: 114473
|
|
|
|
|
|
|
| |
matched, allow ComplexPatterns to opt into getting the parent node
of the operand being matched.
llvm-svn: 114472
|