Rafael Espindola
864a710c16
Add test for r127138.
...
llvm-svn: 127172
2011-03-07 21:28:14 +00:00
Duncan Sands
323db6bb99
Often GCC can see that NumBuckets is zero here, resulting in a warning
...
about possibly swapped memset parameters. Avoid the warning.
llvm-svn: 127170
2011-03-07 19:38:38 +00:00
Jim Grosbach
cbd2f07c7e
Tidy up.
...
llvm-svn: 127169
2011-03-07 19:28:43 +00:00
Jakob Stoklund Olesen
68b2c1d239
Handle the special case of registers begin redefined by early-clobber defs.
...
In this case, the value need to be available at the load index instead of the
normal use index.
llvm-svn: 127167
2011-03-07 18:56:16 +00:00
Owen Anderson
11a49e845a
Use the correct LHS type when determining the legalization of a shift's RHS type.
...
llvm-svn: 127163
2011-03-07 18:29:47 +00:00
Justin Holewinski
751178c697
ptx: Fix calling convention printing in AsmWriter.cpp
...
This allows LLVM IR using ptx_kernel or ptx_device calling
conventions to be properly printed when emitted in text form.
llvm-svn: 127157
2011-03-07 14:32:30 +00:00
Duncan Sands
1e5b90b716
Clarify that the result of an srem is only guaranteed to have the same sign as the
...
left-hand-side if the result is non-zero.
llvm-svn: 127156
2011-03-07 09:12:24 +00:00
Bill Wendling
e07a701cb9
Don't keep the log files around. Just pipe to a log file instead.
...
llvm-svn: 127155
2011-03-07 07:37:37 +00:00
Bill Wendling
b0d3caf6c9
Fix tagging name.
...
llvm-svn: 127154
2011-03-07 07:37:12 +00:00
Argyrios Kyrtzidis
5a57c82f11
Try fixing mingw build.
...
llvm-svn: 127153
2011-03-07 05:35:01 +00:00
Eric Christopher
94c476f680
Prepend LD.Flags before LDFLAGS to avoid overriding necessary paths.
...
Patch by Jack Howarth.
llvm-svn: 127152
2011-03-07 04:25:12 +00:00
Nick Lewycky
fad3512a9a
Tweak this test. We can analyze what happens and show that we still do the
...
right thing, instead of merely being unable to analyze and the transform
doesn't occur.
llvm-svn: 127149
2011-03-07 02:10:18 +00:00
Nick Lewycky
2cbaf887bb
Add more analysis of the sign bit of an srem instruction. If the LHS is negative
...
then the result could go either way. If it's provably positive then so is the
srem. Fixes PR9343 #7 !
llvm-svn: 127146
2011-03-07 01:50:10 +00:00
Argyrios Kyrtzidis
9cd53db2f9
Do a compiler check that we use one of the types from PointerUnion[N], instead of a runtime check.
...
llvm-svn: 127145
2011-03-07 01:30:20 +00:00
NAKAMURA Takumi
6587cb0973
Windows/PathV2.inc: Eliminate redundant condition. DWORD is unsigned.
...
llvm-svn: 127140
2011-03-07 00:12:53 +00:00
Rafael Espindola
6535a2911b
Don't internalize available_externally functions. We already did the right
...
thing for variables.
llvm-svn: 127138
2011-03-06 23:41:34 +00:00
Chris Lattner
3867e5f48e
remove another jeff link
...
llvm-svn: 127135
2011-03-06 23:00:33 +00:00
Eric Christopher
1da11eb2ae
Typo.
...
llvm-svn: 127131
2011-03-06 21:13:45 +00:00
Nick Lewycky
46bb763f35
ConstantInt has some getters which return ConstantInt's or ConstantVector's of
...
the value splatted into every element. Extend this to getTrue and getFalse which
by providing new overloads that take Types that are either i1 or <N x i1>. Use
it in InstCombine to add vector support to some code, fixing PR8469!
llvm-svn: 127116
2011-03-06 03:36:19 +00:00
NAKAMURA Takumi
6aa6938d66
lib/CodeGen/AsmPrinter/CMakeLists.txt: Fix CMake build, following up to r127099.
...
llvm-svn: 127114
2011-03-06 00:13:15 +00:00
Andrew Trick
ebbe4680ae
Disable a couple of experimental heuristics to get the best results from the current implementation of -pre-RA-sched=list-ilp.
...
llvm-svn: 127113
2011-03-06 00:03:32 +00:00
Benjamin Kramer
fbb4be942c
Avoid zero-sized allocations when copying a fresh DenseMap.
...
llvm-svn: 127110
2011-03-05 22:00:28 +00:00
Jakob Stoklund Olesen
d415589edc
Revert r127073: "Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO)."
...
It broke the llvm-gcc-native-mingw32 buildbot, and we need all of them to be green for the 2.9 branch.
Takumi, please reapply after we branch, preferably with a fix ;-)
llvm-svn: 127107
2011-03-05 18:55:06 +00:00
Anton Korobeynikov
8c7010e832
ARM assembler stuff is crazy: for .setfp positive values of offset corresponds to "add" instruction, not to "sub" as in .pad case
...
llvm-svn: 127106
2011-03-05 18:44:00 +00:00
Anton Korobeynikov
f15e269356
In Thumb1 mode the constant might be materialized via the load from constpool. Emit unwinding information in case when this load from constpool is used to change the stack pointer in the prologue.
...
llvm-svn: 127105
2011-03-05 18:43:55 +00:00
Anton Korobeynikov
d8873d31a8
Implement frame unwinding information emission for Thumb1. Not finished yet because there is no way given the constpool index to examine the actual entry: the reason is clones inserted by constant island pass, which are not tracked at all! The only connection is done during asmprinting time via magic label names which is really gross and needs to be eventually fixed.
...
llvm-svn: 127104
2011-03-05 18:43:50 +00:00
Anton Korobeynikov
d4828b54ec
Add unwind information emission for thumb stuff
...
llvm-svn: 127103
2011-03-05 18:43:43 +00:00
Anton Korobeynikov
7ba97c2831
Handle MI flags inside Thumb2SizeReduction pass.
...
llvm-svn: 127102
2011-03-05 18:43:38 +00:00
Anton Korobeynikov
917ca94111
Preliminary support for ARM frame save directives emission via MI flags.
...
This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.
llvm-svn: 127101
2011-03-05 18:43:32 +00:00
Anton Korobeynikov
d7910e3cb6
Provide hooks to set MI flags in MachineInstrBuilder
...
llvm-svn: 127100
2011-03-05 18:43:20 +00:00
Anton Korobeynikov
62e48532b9
Some first rudimentary support for ARM EHABI: print exception table in "text mode".
...
llvm-svn: 127099
2011-03-05 18:43:15 +00:00
Anton Korobeynikov
c746be3dc4
Add FrameSetup MI flags
...
llvm-svn: 127098
2011-03-05 18:43:04 +00:00
Anton Korobeynikov
eb2742ccf2
Shorten AsmPrinterFlags filed to accomodate for future Flags field
...
llvm-svn: 127097
2011-03-05 18:42:54 +00:00
Jakob Stoklund Olesen
1d0ca5680a
Work around a coalescer bug.
...
The coalescer can in very rare cases leave too large live intervals around after
rematerializing cheap-as-a-move instructions.
Linear scan doesn't really care, but live range splitting gets very confused
when a live range is killed by a ghost instruction.
I will fix this properly in the coalescer after 2.9 branches.
llvm-svn: 127096
2011-03-05 18:33:49 +00:00
Bob Wilson
1497601a7b
Remove unused conditional negate operations.
...
llvm-svn: 127090
2011-03-05 16:54:31 +00:00
Benjamin Kramer
26115e0fce
InstCombine: We know the number of items initially added to the worklist map, reserve space early to avoid rehashing.
...
llvm-svn: 127089
2011-03-05 16:43:46 +00:00
Benjamin Kramer
4861bbca65
Lazily allocate DenseMaps.
...
This makes lookup slightly more expensive but it's worth it, unused
DenseMaps are common in LLVM code apparently.
1% speedup on clang -O3 bzip2.c
4% speedup on clang -O3 oggenc.c (Release build of clang on i386/linux)
llvm-svn: 127088
2011-03-05 16:43:41 +00:00
Che-Liang Chiou
15aba09539
ptx: add basic intrinsic support
...
llvm-svn: 127084
2011-03-05 14:17:37 +00:00
Andrew Trick
2451bad445
Be explicit with abs(). Visual Studio workaround.
...
llvm-svn: 127075
2011-03-05 10:29:25 +00:00
NAKAMURA Takumi
0afd9bcaec
utils/lit/lit/TestRunner.py: bash is available with MSYS on Python/W32. Then we can execute "bash tests".
...
llvm-svn: 127074
2011-03-05 09:46:53 +00:00
NAKAMURA Takumi
9cab0faea2
Introduce $(ECHOPATH) to print DOSish path string on MSYS bash for alternative of $(ECHO).
...
On mingw and python/w32, lit would not be expected to understand MSYS-style path.
llvm-svn: 127073
2011-03-05 09:46:45 +00:00
NAKAMURA Takumi
355800852d
On Windows hosts, Python scripts in test/Scripts did not accept binary files from stdin. The environment variable "PYTHONUNBUFFERED" makes stdin as binary. Thanks to Danil Malyshev!
...
llvm-svn: 127072
2011-03-05 09:46:36 +00:00
Andrew Trick
dd4a20e7d7
Fix for -sched-high-latency-cycles in sched=list-ilp mode.
...
llvm-svn: 127071
2011-03-05 09:18:16 +00:00
Andrew Trick
e310d30fba
Missing "virtual" keyword. Jakob's review.
...
llvm-svn: 127070
2011-03-05 08:39:45 +00:00
Cameron Zwarich
7de156da4a
Fix PR9398 - 10% of llc compile time is spent in Value::getNumUses. This reduces
...
the percentage of time spent in CodeGenPrepare when llcing 403.gcc from 12.6% to
1.8% of total llc time.
llvm-svn: 127069
2011-03-05 08:12:26 +00:00
Andrew Trick
d267891a21
Missing comment.
...
llvm-svn: 127068
2011-03-05 08:04:11 +00:00
Andrew Trick
7db197d209
Increased the register pressure limit on x86_64 from 8 to 12
...
regs. This is the only change in this checkin that may affects the
default scheduler. With better register tracking and heuristics, it
doesn't make sense to artificially lower the register limit so much.
Added -sched-high-latency-cycles and X86InstrInfo::isHighLatencyDef to
give the scheduler a way to account for div and sqrt on targets that
don't have an itinerary. It is currently defaults to 10 (the actual
number doesn't matter much), but only takes effect on non-default
schedulers: list-hybrid and list-ilp.
Added several heuristics that can be individually disabled for the
non-default sched=list-ilp mode. This helps us determine how much
better we can do on a given benchmark than the default
scheduler. Certain compute intensive loops run much faster in this
mode with the right set of heuristics, and it doesn't seem to have
much negative impact elsewhere. Not all of the heuristics are needed,
but we still need to experiment to decide which should be disabled by
default for sched=list-ilp.
llvm-svn: 127067
2011-03-05 08:00:22 +00:00
Chris Lattner
bd5b38edb7
remove jeff's name (by his request)
...
llvm-svn: 127066
2011-03-05 07:23:02 +00:00
Andrew Trick
5023de34d3
whitespace
...
llvm-svn: 127065
2011-03-05 06:31:54 +00:00
Nick Lewycky
a2cb87f86d
Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever
...
possible. This goes into instcombine and instsimplify because instsimplify
doesn't need to check hasOneUse since it returns (almost exclusively) constants.
This fixes PR9343 #4 #5 and #8 !
llvm-svn: 127064
2011-03-05 05:19:11 +00:00