| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 59519
|
| |
|
|
|
|
| |
when softening FNEG.
llvm-svn: 59513
|
| |
|
|
| |
llvm-svn: 59504
|
| |
|
|
| |
llvm-svn: 59489
|
| |
|
|
|
|
| |
a SelectionDAG*.
llvm-svn: 59488
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll
Failed with signal(SIGABRT) at line 1
while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll | llc -march=xcore > fneg.ll.tmp1.s
Assertion failed: (VT.isFloatingPoint() && "Cannot create integer FP constant!"), function getConstantFP, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp, line 913.
0 llc 0x0092115c _ZN4llvm3sys18RemoveFileOnSignalERKNS0_4PathEPSs + 844
1 libSystem.B.dylib 0x9217809b _sigtramp + 43
2 ??? 0xffffffff 0x0 + 4294967295
3 libSystem.B.dylib 0x921f0ec2 raise + 26
4 libSystem.B.dylib 0x9220047f abort + 73
5 libSystem.B.dylib 0x921f2063 __assert_rtn + 101
6 llc 0x005a5b0a _ZN4llvm12SelectionDAG13getConmake[1]: *** [check-local] Error 1
make: *** [check] Error 2
llvm-svn: 59487
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
new CycleBound value. Instead, just update CycleBound on each call.
Also, make ReleasePred and ReleaseSucc methods more consistent accross
the various schedulers.
This also happens to make ScheduleDAGRRList's CycleBound computation
somewhat more interesting, though it still doesn't have any noticeable
effect, because no current targets that use the register-pressure
reduction scheduler provide pipeline models.
llvm-svn: 59475
|
| |
|
|
|
|
| |
functions in these two schedulers.
llvm-svn: 59465
|
| |
|
|
|
|
|
| |
patch by Richard Osborne, tweaked and extended by your humble
servant.
llvm-svn: 59464
|
| |
|
|
| |
llvm-svn: 59461
|
| |
|
|
|
|
| |
a side-car datastructure
llvm-svn: 59458
|
| |
|
|
|
|
| |
for the target. This fixes PR3080.
llvm-svn: 59450
|
| |
|
|
| |
llvm-svn: 59445
|
| |
|
|
| |
llvm-svn: 59432
|
| |
|
|
|
|
|
| |
can extract using different indexes for two vectors. Added a few tests
for vector shuffles.
llvm-svn: 59399
|
| |
|
|
|
|
|
|
| |
use SHUFFLE_VECTOR instead. If not practical, fall back
to the old scheme of building the split result by hand
using a BUILD_VECTOR.
llvm-svn: 59361
|
| |
|
|
|
|
|
| |
and when loading/storing a widen vector, make sure that they are loaded
and stored in consecutive order.
llvm-svn: 59357
|
| |
|
|
| |
llvm-svn: 59341
|
| |
|
|
| |
llvm-svn: 59340
|
| |
|
|
|
|
|
| |
fairly conservative; it doesn't do alias-analysis queries and it doesn't
attempt to break anti-dependencies.
llvm-svn: 59324
|
| |
|
|
|
|
| |
before re-inserting them.
llvm-svn: 59281
|
| |
|
|
| |
llvm-svn: 59280
|
| |
|
|
| |
llvm-svn: 59279
|
| |
|
|
| |
llvm-svn: 59278
|
| |
|
|
|
|
| |
the current function on its own, rather than relying on the SelectionDAG.
llvm-svn: 59277
|
| |
|
|
|
|
|
|
|
|
| |
to carry a SmallVector of flagged nodes, just calculate the flagged nodes
dynamically when they are needed.
The local-liveness change is due to a trivial scheduling change where
the scheduler arbitrary decision differently.
llvm-svn: 59273
|
| |
|
|
| |
llvm-svn: 59264
|
| |
|
|
|
|
| |
for the possibility of scheduling without a SelectionDAG being present.
llvm-svn: 59263
|
| |
|
|
|
|
|
|
| |
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.
llvm-svn: 59190
|
| |
|
|
| |
llvm-svn: 59150
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that it no longer handles non-power-of-two vectors.
However it previously only handled them sometimes,
depending on obscure numerical relationships between
the index and vector type. For example, for a vector
of length 6, it would succeed if and only if the
index was an even multiple of 6. I consider this
more confusing than useful.
llvm-svn: 59122
|
| |
|
|
|
|
|
| |
when the target does not support ADDC/SUBC. This
fixes PR3044.
llvm-svn: 59120
|
| |
|
|
|
|
| |
Reenable test.
llvm-svn: 59101
|
| |
|
|
|
|
|
|
|
| |
before creating the SUnit for the operation that it was unfolded from. This
allows each SUnit to have all of its predecessor SUnits available at the time
it is created. I don't know yet if this will be absolutely required, but it
is a little tidier to do it this way.
llvm-svn: 59083
|
| |
|
|
|
|
| |
TargetLoweringInfo variables for the scheduler.
llvm-svn: 59082
|
| |
|
|
|
|
|
| |
argument instead of taking the SelectionDAG's TargetMachine. This is
needed for some upcoming scheduler changes.
llvm-svn: 59055
|
| |
|
|
|
|
|
|
|
| |
The CC was changed, but wasn't checked to see if it was legal if the DAG
combiner was being run after legalization. Threw in a couple of checks just to
make sure that it's okay. As far as the PR is concerned, no back-end target
actually exhibited this problem, so there isn't an associated testcase.
llvm-svn: 59035
|
| |
|
|
| |
llvm-svn: 59025
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bootstrap:
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1obj-checksum.o differs
warning: ./cc1objplus-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./alias.o differs
./alloc-pool.o differs
./attribs.o differs
./bb-reorder.o differs
./bitmap.o differs
./build/errors.o differs
./build/genattrtab.o differs
./build/genautomata.o differs
./build/genemit.o differs
./build/genextract.o differs
...
-bw
llvm-svn: 59003
|
| |
|
|
|
|
|
| |
support targets that support these conversions. Users should avoid using
this node as the current targets don't generating code for it.
llvm-svn: 59001
|
| |
|
|
|
|
|
| |
where the argument is an apint, or smaller than the minimum
size for which there is a libcall (i32).
llvm-svn: 58994
|
| |
|
|
| |
llvm-svn: 58993
|
| |
|
|
| |
llvm-svn: 58992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inform the optimizers that the result must be zero/
sign extended from the smaller type. For example,
if a fp to unsigned i16 is promoted to fp to i32,
then we are allowed to assume that the extra 16 bits
are zero (because the result of fp to i16 is undefined
if the result does not fit in an i16). This is
quite aggressive, but should help the optimizers
produce better code. This requires correcting a
test which thought that fp_to_uint is some kind
of truncation, which it is not: in the testcase
(which does fp to i1), either the fp value converts
to 0 or 1 or the result is undefined, which is
quite different to truncation.
llvm-svn: 58991
|
| |
|
|
|
|
| |
Fixes ppc32 bootstrap.
llvm-svn: 58979
|
| |
|
|
|
|
| |
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
llvm-svn: 58964
|
| |
|
|
|
|
| |
xs
llvm-svn: 58930
|
| |
|
|
| |
llvm-svn: 58920
|
| |
|
|
| |
llvm-svn: 58874
|
| |
|
|
|
|
|
|
|
|
| |
This is Chris' patch from the PR, modified to realize that
SETUGT/SETULT occur legitimately with integers, plus
two fixes in LegalizeDAG to pass a valid result type into
LegalizeSetCC. The argument of TLI.getSetCCResultType is
ignored on PPC, but I think I'm following usage elsewhere.
llvm-svn: 58871
|