| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
There was a previous implementation with patterns that would
have matched e.g.
shl <v4i32> <i32>,
but this is not valid LLVM IR so they never were selected.
llvm-svn: 126998
|
|
|
|
|
|
| |
A 'load <4 x i32>* null' crashes llc before this fix.
llvm-svn: 126995
|
|
|
|
|
|
|
| |
in the urem case, though not the other way around. This is enough to get #3 from
PR9343!
llvm-svn: 126991
|
|
|
|
|
|
|
|
|
| |
"icmp pred %X, CI" and a number of examples where "%X = binop %Y, CI2".
Some of these cases (div and rem) used to make it through opt -O2, but the
others are probably now making code elsewhere redundant (probably instcombine).
llvm-svn: 126988
|
|
|
|
|
|
|
| |
Avoid colliding with the sentinels, hopefully unbreaking
llvm-gcc-x86_64-linux-selfhost.
llvm-svn: 126982
|
|
|
|
|
|
|
|
| |
Fix the PendingQueue, then disable it because it's not required for
the current schedulers' heuristics.
Fix the logic for the unused list-ilp scheduler.
llvm-svn: 126981
|
|
|
|
| |
llvm-svn: 126978
|
|
|
|
| |
llvm-svn: 126975
|
|
|
|
|
|
|
| |
This speeds up updateSSA() so it only accounts for 5% of the live range
splitting time.
llvm-svn: 126972
|
|
|
|
| |
llvm-svn: 126970
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it. It's been assumed up til now that it would be in its immediate
successor. However, this isn't necessarily the case. It could be in one of its
successor's successors.
Modify the code to more thoroughly check for an 'eh.selector' call in
successors. It only looks at a successor if we get there as a result of an
unconditional branch.
Testcase ObjC/exceptions-4.m in r126968.
llvm-svn: 126969
|
|
|
|
|
|
| |
Patch by Zonr Chang!
llvm-svn: 126967
|
|
|
|
| |
llvm-svn: 126964
|
|
|
|
| |
llvm-svn: 126963
|
|
|
|
| |
llvm-svn: 126962
|
|
|
|
|
|
| |
Add comment.
llvm-svn: 126959
|
|
|
|
|
|
| |
does the function have at source level. If we need more space, just resize vector conservatively. This vector is only used once per function.
llvm-svn: 126957
|
|
|
|
|
|
| |
be next to the frame pointer or the stack pointer.
llvm-svn: 126956
|
|
|
|
|
|
| |
other components can use them.
llvm-svn: 126942
|
|
|
|
| |
llvm-svn: 126941
|
|
|
|
|
|
| |
and siprintf is available on the target.
llvm-svn: 126940
|
|
|
|
| |
llvm-svn: 126938
|
|
|
|
|
|
| |
and siprintf is available on the target.
llvm-svn: 126937
|
|
|
|
| |
llvm-svn: 126936
|
|
|
|
|
|
|
| |
and iprintf is available on the target. Currently iprintf is only
marked as being available on the XCore.
llvm-svn: 126935
|
|
|
|
| |
llvm-svn: 126934
|
|
|
|
|
|
|
|
| |
for calls to weak symbols with a definition has the appearance of working
with LLVM-generated code because weak symbol definitions are put in their
own sections.
llvm-svn: 126933
|
|
|
|
| |
llvm-svn: 126930
|
|
|
|
|
|
|
|
|
|
| |
of defs.
There are probably much larger speedups to be had by renumbering locally instead
of looping over the whole function. For now, the greedy register allocator is
25% faster.
llvm-svn: 126926
|
|
|
|
|
|
|
|
| |
This is much faster than using a pointer to a ManagedStatic object accessed with
a function call. The greedy register allocator is 5% faster overall just from
the SlotIndex default constructor savings.
llvm-svn: 126925
|
|
|
|
|
|
|
| |
The SlotIndex created by the default construction does not represent a position
in the function, and it doesn't make sense to compare it to other indexes.
llvm-svn: 126924
|
|
|
|
| |
llvm-svn: 126922
|
|
|
|
|
|
|
|
|
| |
time.
This speeds up the greedy register allocator by 15%.
DenseMap is not as fast as one might hope.
llvm-svn: 126921
|
|
|
|
|
|
| |
Patch by Jyun-Yan You, with some minor adjustments and a testcase from me.
llvm-svn: 126915
|
|
|
|
|
|
| |
multiple splits.
llvm-svn: 126912
|
|
|
|
|
|
| |
When only a single value has been seen, new PHIDefs are never needed.
llvm-svn: 126911
|
|
|
|
|
|
|
|
|
| |
We need to wait until we meet a PHIDef in its defining block before resurrecting
PHIKills in the predecessors.
This should unbreak the llvm-gcc-build-x86_64-darwin10-x-mingw32-x-armeabi bot.
llvm-svn: 126905
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
David Greene changed CannotYetSelect() to print the full DAG including multiple
copies of operands reached through different paths in the DAG. Unfortunately
this blows up exponentially in some cases. The depth limit of 100 is way too
high to prevent this -- I'm seeing a message string of 150MB with a depth of
only 40 in one particularly bad case, even though the DAG has less than 200
nodes. Part of the problem is that the printing code is following chain
operands, so if you fail to select an operation with a chain, the printer will
follow all the chained operations back to the entry node.
llvm-svn: 126899
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 126898
|
|
|
|
|
|
| |
Patch by Ted Kremenek!
llvm-svn: 126895
|
|
|
|
|
|
|
|
| |
Values that map to a single new value in a new interval after splitting don't
need new PHIDefs, and if the parent value was never rematerialized the live
range will be the same.
llvm-svn: 126894
|
|
|
|
| |
llvm-svn: 126893
|
|
|
|
| |
llvm-svn: 126882
|
|
|
|
| |
llvm-svn: 126871
|
|
|
|
|
|
| |
Radar 9056407.
llvm-svn: 126864
|
|
|
|
| |
llvm-svn: 126862
|
|
|
|
|
|
|
|
|
|
| |
missing patterns for them.
Add a SIMD test subdirectory to hold tests for SIMD instruction
selection correctness and quality.
'
llvm-svn: 126845
|
|
|
|
| |
llvm-svn: 126838
|
|
|
|
|
|
|
|
|
|
| |
- Add '64bit' sub-target option.
- Select 32-bit/64-bit loads/stores based on '64bit' option.
- Fix function parameter order.
Patch by Justin Holewinski
llvm-svn: 126837
|
|
|
|
|
|
|
|
|
|
|
| |
uses.
The result produced by the streamer is used to give the linker more accurate
information and to add to llvm.compiler.used. The second improvement removes
the need for the user to add __attribute__((used)) to functions only used in
inline asm. The first one lets us build firefox with LTO on Darwin :-)
llvm-svn: 126830
|