Devang Patel
79a342d7d3
Let instcombiner remove redundant dbg intrinsics.
...
llvm-svn: 59658
2008-11-19 18:59:41 +00:00
Devang Patel
cd2e68c069
If there are two consecutive llvm.dbg.stoppoint calls then
...
it is likely that the optimizer deleted code in between these
two intrinsics. Keep only the last llvm.dbg.stoppoint in this case.
llvm-svn: 59657
2008-11-19 18:56:50 +00:00
Oscar Fuentes
c4345795b0
CMake: Removed source file from lib/Target/PIC16/CMakeLists.txt.
...
llvm-svn: 59655
2008-11-19 18:42:25 +00:00
Scott Michel
583eadfb46
CellSPU: Do not custom lower i1 stores, rely on type legalization to do the
...
right thing and promote the store to i8.
llvm-svn: 59648
2008-11-19 17:45:08 +00:00
Stuart Hastings
545f47a2cb
<rdar://problem/6351057>
...
Discourage (allocate last) use of x86_64 R12 and R13 due to their
longer instruction encodings.
llvm-svn: 59644
2008-11-19 17:19:35 +00:00
Scott Michel
5ca4b5b653
Temporary check-in for Duncan to demonstrate CellSPU store problem.
...
llvm-svn: 59637
2008-11-19 15:24:16 +00:00
Argyrios Kyrtzidis
c7a898544b
Fix compilation error on MSVC.
...
llvm-svn: 59629
2008-11-19 12:56:21 +00:00
Sanjiv Gupta
e9e4de3e54
Forgot to add this in the previous commit.
...
llvm-svn: 59623
2008-11-19 12:12:49 +00:00
Sanjiv Gupta
da17b053d6
Fixed build warnings.
...
llvm-svn: 59621
2008-11-19 11:27:59 +00:00
Sanjiv Gupta
a66f48d8e9
Added a more function PIC16 backend. However to get this working a patch in
...
ExpandIntegerOperand (LegalizeIntegerTypes.cpp) is needed which is yet to be reworked and submitted.
llvm-svn: 59617
2008-11-19 11:00:54 +00:00
Bill Wendling
896e6cd576
Use stripPointerCasts when checking for AllocaInsts for the stackprotector intrinsic.
...
llvm-svn: 59614
2008-11-19 09:17:16 +00:00
Owen Anderson
482ea64f7b
Add support for rematerialization in pre-alloc-splitting.
...
llvm-svn: 59587
2008-11-19 04:28:29 +00:00
Dan Gohman
d69d23aa7f
Rearrange code to reduce the nesting level. No functionality change.
...
llvm-svn: 59580
2008-11-19 02:00:32 +00:00
Bill Wendling
b8a7d944f1
Use dyn_cast instead of cast.
...
llvm-svn: 59577
2008-11-19 01:25:41 +00:00
Bill Wendling
5a374e2969
Match an element of the return type if it returns a structure.
...
llvm-svn: 59576
2008-11-19 01:15:05 +00:00
Devang Patel
dd2491943e
Remove unused variables.
...
llvm-svn: 59570
2008-11-19 00:22:02 +00:00
Devang Patel
b49b40c2fb
Fix typo.
...
llvm-svn: 59569
2008-11-19 00:19:18 +00:00
Dan Gohman
89a6126c1c
Fix debug printing of flagged SDNodes in SUnits so that they
...
print in the correct order.
llvm-svn: 59567
2008-11-19 00:04:44 +00:00
Evan Cheng
997ba49e23
Make the same change to RegScavenger::backward.
...
llvm-svn: 59566
2008-11-18 23:54:01 +00:00
Bill Wendling
c795ca8627
Verify that the second parameter of the stacprotector intrinsic is an alloca
...
instruction.
llvm-svn: 59563
2008-11-18 23:09:31 +00:00
Evan Cheng
91d6c38321
We also need to keep the operand index for two address check.
...
llvm-svn: 59562
2008-11-18 22:56:19 +00:00
Evan Cheng
145b3db050
Register scavenger should process early clobber defs first. A dead early clobber def should not interfere with a normal def which happens one slot later.
...
llvm-svn: 59559
2008-11-18 22:28:38 +00:00
Devang Patel
233728e8c3
Add new helper pass that strips all symbol names except debugging information.
...
This pass makes it easier to test wheter debugging info. influences optimization passes or not.
llvm-svn: 59552
2008-11-18 21:34:39 +00:00
Dan Gohman
e5420a0ae9
Don't set neverHasSideEffects on x86's divide instructions, since
...
they trap on divide-by-zero, and this side effect is otherwise
unmodeled.
llvm-svn: 59551
2008-11-18 21:29:14 +00:00
Dan Gohman
6e32075485
Tidy up ScheduleNodeBottomUp methods, and make them more
...
consistent with ScheduleNodeTopDown methods.
llvm-svn: 59550
2008-11-18 21:22:20 +00:00
Dan Gohman
ce059cf482
Update a comment to reflect the current code.
...
llvm-svn: 59549
2008-11-18 21:14:44 +00:00
Duncan Sands
ef0c6c845c
Remove integer promotion support for FP_EXTEND
...
and FP_ROUND. Not sure what these were doing
here - probably they were sometimes (wrongly)
created with integer operands somewhere that
has since been fixed.
llvm-svn: 59548
2008-11-18 21:13:59 +00:00
Devang Patel
0728a7d7e5
Remove even more llvm.dbg variables.
...
Remove all dead globals from llvm.metadata.
Ignore linkonce linkage for selected llvm.dbg values.
llvm-svn: 59547
2008-11-18 21:13:41 +00:00
Duncan Sands
c7ea927666
Simplify code using helper routines. There is not
...
supposed to be any functionality change.
llvm-svn: 59545
2008-11-18 20:56:22 +00:00
Owen Anderson
57a8a95293
Fix a bug introduced by my previous patch. With this change, SPEC is now clean with prealloc splitting enabled.
...
llvm-svn: 59544
2008-11-18 20:53:59 +00:00
Dan Gohman
04e99d0f3f
Add more const qualifiers. This fixes build breakage from r59540.
...
llvm-svn: 59542
2008-11-18 19:49:32 +00:00
Dan Gohman
5926405b4a
Make some methods const.
...
llvm-svn: 59540
2008-11-18 19:04:29 +00:00
Devang Patel
d8981479c2
Initialize MallocFunc and FreeFunc properly.
...
llvm-svn: 59538
2008-11-18 18:43:07 +00:00
Dan Gohman
909692c3cd
Whitespace cleanups.
...
llvm-svn: 59532
2008-11-18 17:05:42 +00:00
Duncan Sands
66375b6ea0
LegalizeTypes support for splitting and scalarizing
...
SCALAR_TO_VECTOR. I didn't add the testcase, because
once llc gets past scalar-to-vector it hits a SPU target
lowering bug and explodes.
llvm-svn: 59530
2008-11-18 16:40:48 +00:00
Nick Lewycky
c573f70ae4
Add a utility function that detects whether a loop is guaranteed to be finite.
...
Use it to safely handle less-than-or-equals-to exit conditions in loops. These
also occur when the loop exit branch is exit on true because SCEV inverses the
icmp predicate.
Use it again to handle non-zero strides, but only with an unsigned comparison
in the exit condition.
llvm-svn: 59528
2008-11-18 15:10:54 +00:00
Bill Wendling
3460a79979
Rename stackprotector_create intrinsic to stackprotector.
...
llvm-svn: 59519
2008-11-18 11:01:33 +00:00
Bill Wendling
5ba12c88c1
Cast to remove warning about comparing signed and unsigned.
...
llvm-svn: 59518
2008-11-18 10:57:27 +00:00
Nicolas Geoffray
3cd13e7e65
Implement support for JIT exceptions on X86_64. Relative offsets are
...
encoded on 32 bytes, and the personality function is not encoded as
relative.
llvm-svn: 59516
2008-11-18 10:44:46 +00:00
Duncan Sands
8f98029149
Remove unused variable.
...
llvm-svn: 59515
2008-11-18 10:39:04 +00:00
Duncan Sands
3f0dbb4ead
Reapply r59464, this time using the correct type
...
when softening FNEG.
llvm-svn: 59513
2008-11-18 09:15:03 +00:00
Bill Wendling
485d094231
Remove the stackprotector_check intrinsic. Use a volatile load instead.
...
llvm-svn: 59504
2008-11-18 07:30:57 +00:00
Bill Wendling
3a50ecd70f
- Use "moveAfter" instead of "remove/insert" of a basic block.
...
- Use less indentation in coding.
- Shorten description.
- Update comments.
- Move code around
llvm-svn: 59496
2008-11-18 05:32:11 +00:00
Dan Gohman
8e3759ee45
Fix a typo in a comment.
...
llvm-svn: 59489
2008-11-18 02:50:01 +00:00
Dan Gohman
bc8cfae5c3
Change SUnit's dump method to take a ScheduleDAG* instead of
...
a SelectionDAG*.
llvm-svn: 59488
2008-11-18 02:06:40 +00:00
Bill Wendling
33cf8ff597
Revert r59464. It was causing this failure:
...
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
2008-11-18 01:49:24 +00:00
Devang Patel
2a0aa9fa51
Give SIToFPInst preference over UIToFPInst because it is faster on platforms that are widely used.
...
llvm-svn: 59476
2008-11-18 00:40:02 +00:00
Dan Gohman
60cb69a7b5
Avoid using a loop in ReleasePred and ReleaseSucc methods to compute the
...
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
2008-11-18 00:38:59 +00:00
Devang Patel
705f88d5b5
While handling floating point IVs lift restrictions on initial value and increment value.
...
llvm-svn: 59471
2008-11-17 23:27:13 +00:00
Devang Patel
2d0c234523
Handle floating point ivs during doInitialization().
...
llvm-svn: 59466
2008-11-17 21:32:02 +00:00