| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
constpool into a use, the rewrite happens at time of spill (not in VirtRegMap). Later on, if the GlobalBaseReg is spilled, the spiller can see the use uses GlobalBaseReg and do the right thing.
llvm-svn: 60596
|
| |
|
|
|
|
|
|
|
|
| |
V_SETALLONES into a load from constpool in order to fold into restores. This is not safe to do when PIC base is being used for a number of reasons:
1. GlobalBaseReg may have been spilled.
2. It may not be live at the use.
3. Spiller doesn't know this is happening so it won't prevent GlobalBaseReg from being spilled later (That by itself is a nasty hack. It's needed because we don't insert the reload until later).
llvm-svn: 60595
|
| |
|
|
| |
llvm-svn: 60594
|
| |
|
|
| |
llvm-svn: 60592
|
| |
|
|
| |
llvm-svn: 60588
|
| |
|
|
| |
llvm-svn: 60586
|
| |
|
|
|
|
|
| |
changing the stack slots on an instruction, to keep them
consistent with the actual memory addresses.
llvm-svn: 60584
|
| |
|
|
|
|
|
|
|
|
| |
While they appear to provide a normal clobbering def, they don't
in the case of the awkward IMPLICIT_DEF+INSERT_SUBREG idiom. It
would be good to change INSERT_SUBREG; until then, this change
allows post-regalloc scheduling to cope in a mildly conservative
way.
llvm-svn: 60583
|
| |
|
|
|
|
| |
are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols.
llvm-svn: 60571
|
| |
|
|
|
|
| |
faster by not requiring a flush().
llvm-svn: 60560
|
| |
|
|
|
|
|
|
| |
This fixes many bugs. I will add more test cases in a separate check-in.
Some day, the code that manipulates CFG and updates dom. info could use refactoring help.
llvm-svn: 60554
|
| |
|
|
| |
llvm-svn: 60553
|
| |
|
|
|
|
|
|
|
| |
- Add v4f32, v2f64 to LowerVECTOR_SHUFFLE
- Look for vector rotate in shuffle elements, generate a vector rotate
instead of a full-blown shuffle when opportunity presents itself.
- Generate larger test harness and fix a few interesting but obscure bugs.
llvm-svn: 60552
|
| |
|
|
|
|
|
| |
number of bytes for types such as i1 which are not
a multiple of 8 bits in length.
llvm-svn: 60543
|
| |
|
|
| |
llvm-svn: 60541
|
| |
|
|
| |
llvm-svn: 60534
|
| |
|
|
|
|
| |
get it building when NDEBUG is set.
llvm-svn: 60532
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c ../../../llvm-gcc.src/libgomp/barrier.c -fno-common -DPIC -o .libs/barrier.o
checking for sys/file.h... /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb"
/var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:symbol: "_gomp_tls_key" can't be undefined in a subtraction expression
make[4]: *** [barrier.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../llvm-gcc.src/libgomp/alloc.c -o alloc.o >/dev/null 2>&1
yes
checking for sys/param.h... make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libgomp] Error 2
make[1]: *** Waiting for unfinished jobs....
llvm-svn: 60527
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- First patch from Nehal Desai, a new contributor at Aerospace. Nehal's patch
fixes sign/zero/any-extending loads for integers and floating point. Example
code, compiled w/o debugging or optimization where he first noticed the bug:
int main(void) {
float a = 99.0;
printf("%d\n", a);
return 0;
}
Verified that this code actually works on a Cell SPU.
Changes by Scott Michel:
- Fix bug in the value type list constructed by SPUISD::LDRESULT to include
both the load result's result and chain, not just the chain alone.
- Simplify LowerLOAD and remove extraneous and unnecessary chains.
- Remove unused SPUISD pseudo instructions.
llvm-svn: 60526
|
| |
|
|
| |
llvm-svn: 60525
|
| |
|
|
| |
llvm-svn: 60524
|
| |
|
|
|
|
| |
GOT or non-lazy-ptr.
llvm-svn: 60519
|
| |
|
|
|
|
| |
the main thing this covers is spills to distinct spill slots.
llvm-svn: 60517
|
| |
|
|
| |
llvm-svn: 60514
|
| |
|
|
|
|
| |
issues with subreg operands and tied operands.
llvm-svn: 60510
|
| |
|
|
| |
llvm-svn: 60509
|
| |
|
|
| |
llvm-svn: 60508
|
| |
|
|
|
|
|
| |
on PseudoSourceValue values. This also fixes a FIXME in
lib/VMCode/AsmWriter.cpp.
llvm-svn: 60507
|
| |
|
|
| |
llvm-svn: 60506
|
| |
|
|
| |
llvm-svn: 60501
|
| |
|
|
| |
llvm-svn: 60500
|
| |
|
|
| |
llvm-svn: 60499
|
| |
|
|
|
|
|
| |
an area where eventually it would be good to use target-dependent
information.
llvm-svn: 60498
|
| |
|
|
| |
llvm-svn: 60497
|
| |
|
|
|
|
| |
examining non-anti-dependence edges.
llvm-svn: 60496
|
| |
|
|
| |
llvm-svn: 60495
|
| |
|
|
| |
llvm-svn: 60494
|
| |
|
|
|
|
|
| |
parts, and add target-independent code to add/preserve
MachineMemOperands.
llvm-svn: 60488
|
| |
|
|
| |
llvm-svn: 60487
|
| |
|
|
|
|
|
| |
the frame reference. This will help post-RA scheduling determine
that spills to distinct stack slots are independent.
llvm-svn: 60486
|
| |
|
|
| |
llvm-svn: 60484
|
| |
|
|
|
|
| |
a new node if the node was actually remapped.
llvm-svn: 60482
|
| |
|
|
|
|
| |
Print a single parameter .file directive if we have an ELF target.
llvm-svn: 60480
|
| |
|
|
| |
llvm-svn: 60479
|
| |
|
|
| |
llvm-svn: 60478
|
| |
|
|
|
|
| |
'dyn_cast'.
llvm-svn: 60477
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) have it fold "br undef", which does occur with
surprising frequency as jump threading iterates.
2) teach j-t to delete dead blocks. This removes the successor
edges, reducing the in-edges of other blocks, allowing
recursive simplification.
3) Fold things like:
br COND, BBX, BBY
BBX:
br COND, BBZ, BBW
which also happens because jump threading iterates.
llvm-svn: 60470
|
| |
|
|
| |
llvm-svn: 60469
|
| |
|
|
| |
llvm-svn: 60468
|
| |
|
|
|
|
|
| |
unconditionally delete the block. All likely clients will
do the checking anyway.
llvm-svn: 60464
|