oota-llvm.git
15 years agoDocument TEST=dbgopt
Devang Patel [Fri, 21 Nov 2008 19:35:57 +0000 (19:35 +0000)]
Document TEST=dbgopt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59839 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCorrectly set the isCtrl flag for chain dependencies.
Dan Gohman [Fri, 21 Nov 2008 19:17:25 +0000 (19:17 +0000)]
Correctly set the isCtrl flag for chain dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59837 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate comments.
Dan Gohman [Fri, 21 Nov 2008 19:16:58 +0000 (19:16 +0000)]
Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59836 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate comments.
Dan Gohman [Fri, 21 Nov 2008 19:10:41 +0000 (19:10 +0000)]
Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59834 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoreapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
Chris Lattner [Fri, 21 Nov 2008 16:42:48 +0000 (16:42 +0000)]
reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
arbitrary integer width for the count.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59823 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r59802. It was breaking the build of llvm-gcc:
Bill Wendling [Fri, 21 Nov 2008 09:09:41 +0000 (09:09 +0000)]
Revert r59802. It was breaking the build of llvm-gcc:

g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic'
make[3]: *** [llvm-convert.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59809 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMake mem[cpy,move,set] intrinsics overloaded.
Sanjiv Gupta [Fri, 21 Nov 2008 07:49:09 +0000 (07:49 +0000)]
Make mem[cpy,move,set] intrinsics overloaded.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59802 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDefault to converting UADDO to the generic form that SADDO is converted to.
Bill Wendling [Fri, 21 Nov 2008 07:44:30 +0000 (07:44 +0000)]
Default to converting UADDO to the generic form that SADDO is converted to.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59801 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoOptimize (x/y)*y into x-(x%y) in general. Div and rem are about the same, and
Nick Lewycky [Fri, 21 Nov 2008 07:33:58 +0000 (07:33 +0000)]
Optimize (x/y)*y into x-(x%y) in general. Div and rem are about the same, and
a subtract is cheaper than a multiply. This generalizes an existing transform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59800 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLLVM does have a fortran FE!
Duraid Madina [Fri, 21 Nov 2008 06:26:56 +0000 (06:26 +0000)]
LLVM does have a fortran FE!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59795 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoClean up normalization of shuffles
Mon P Wang [Fri, 21 Nov 2008 04:25:21 +0000 (04:25 +0000)]
Clean up normalization of shuffles

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59792 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU:
Scott Michel [Fri, 21 Nov 2008 02:56:16 +0000 (02:56 +0000)]
CellSPU:
(a) Fix bgs 3052, 3057
(b) Incorporate Duncan's suggestions re: i1 promotion
(c) Indentation updates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59790 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCombine the two add with overflow intrinsics lowerings. They differ only in DAG node...
Bill Wendling [Fri, 21 Nov 2008 02:38:44 +0000 (02:38 +0000)]
Combine the two add with overflow intrinsics lowerings. They differ only in DAG node type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59788 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSet the isAntiDep flag in the MachineInstr scheduler.
Dan Gohman [Fri, 21 Nov 2008 02:38:21 +0000 (02:38 +0000)]
Set the isAntiDep flag in the MachineInstr scheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59787 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGenerate code for llvm.uadd.with.overflow intrinsic. No conversion support yet.
Bill Wendling [Fri, 21 Nov 2008 02:33:36 +0000 (02:33 +0000)]
Generate code for llvm.uadd.with.overflow intrinsic. No conversion support yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59786 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd a flag to SDep for tracking which edges are anti-dependence edges.
Dan Gohman [Fri, 21 Nov 2008 02:27:52 +0000 (02:27 +0000)]
Add a flag to SDep for tracking which edges are anti-dependence edges.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59785 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate comment to reflect a semblance of reality.
Bill Wendling [Fri, 21 Nov 2008 02:24:44 +0000 (02:24 +0000)]
Update comment to reflect a semblance of reality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59784 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove chains. Unnecessary.
Bill Wendling [Fri, 21 Nov 2008 02:22:59 +0000 (02:22 +0000)]
Remove chains. Unnecessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59783 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename SDep's isSpecial to isArtificial, to make this field a little
Dan Gohman [Fri, 21 Nov 2008 02:18:56 +0000 (02:18 +0000)]
Rename SDep's isSpecial to isArtificial, to make this field a little
less mysterious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59782 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd generic test for add with overflow.
Bill Wendling [Fri, 21 Nov 2008 02:15:51 +0000 (02:15 +0000)]
Add generic test for add with overflow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59781 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRename "ADDO" to "SADDO" and "UADDO". The "UADDO" isn't equivalent to "ADDC"
Bill Wendling [Fri, 21 Nov 2008 02:12:42 +0000 (02:12 +0000)]
Rename "ADDO" to "SADDO" and "UADDO". The "UADDO" isn't equivalent to "ADDC"
because the boolean it returns to indicate an overflow may not be treated like
as a flag. It could be stored to memory, for instance.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59780 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement the sadd_with_overflow intrinsic. This is converted into
Bill Wendling [Fri, 21 Nov 2008 02:03:52 +0000 (02:03 +0000)]
Implement the sadd_with_overflow intrinsic. This is converted into
"ISD::ADDO". ISD::ADDO is lowered into a target-independent form that does the
addition and then checks if the result is less than one of the operands. (If it
is, then there was an overflow.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59779 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix unused variable warnings.
Devang Patel [Fri, 21 Nov 2008 01:52:59 +0000 (01:52 +0000)]
Fix unused variable warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59778 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse ComputeLatency in the MachineInstr scheduler.
Dan Gohman [Fri, 21 Nov 2008 01:44:51 +0000 (01:44 +0000)]
Use ComputeLatency in the MachineInstr scheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59777 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the CycleBound computation code from the ScheduleDAGRRList
Dan Gohman [Fri, 21 Nov 2008 01:30:54 +0000 (01:30 +0000)]
Remove the CycleBound computation code from the ScheduleDAGRRList
schedulers. This doesn't have much immediate impact because
targets that use these schedulers by default don't yet provide
pipeline information.

This code also didn't have the benefit of register pressure
information. Also, removing it will avoid problems with list-burr
suddenly starting to do latency-oriented scheduling on x86 when we
start providing pipeline data, which would increase spilling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59775 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdate comment.
Bill Wendling [Fri, 21 Nov 2008 00:45:00 +0000 (00:45 +0000)]
Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59766 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Do not rebuild the world when tblgen changes but the .inc files
Oscar Fuentes [Fri, 21 Nov 2008 00:18:45 +0000 (00:18 +0000)]
CMake: Do not rebuild the world when tblgen changes but the .inc files
it produces are not affected by the change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59763 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoImplement ComputeLatency for MachineInstr ScheduleDAGs. Factor
Dan Gohman [Fri, 21 Nov 2008 00:12:10 +0000 (00:12 +0000)]
Implement ComputeLatency for MachineInstr ScheduleDAGs. Factor
some of the latency computation logic out of the SDNode
ScheduleDAG code into a TargetInstrItineraries helper method
to help with this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59761 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd UADDO and SADDO nodes. These will be used for determining an overflow
Bill Wendling [Fri, 21 Nov 2008 00:11:16 +0000 (00:11 +0000)]
Add UADDO and SADDO nodes. These will be used for determining an overflow
condition in an addition operation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59760 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoChange these schedulers to not emit no-ops. It turns out that
Dan Gohman [Fri, 21 Nov 2008 00:10:42 +0000 (00:10 +0000)]
Change these schedulers to not emit no-ops. It turns out that
the RR scheduler actually does look at latency values, but it
doesn't use a hazard recognizer so it has no way to know when
a no-op is needed, as opposed to just stalling and incrementing
the cycle count.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59759 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix error where it wasn't getting the correct caller function.
Bill Wendling [Fri, 21 Nov 2008 00:09:21 +0000 (00:09 +0000)]
Fix error where it wasn't getting the correct caller function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59758 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf the function being inlined has a higher stack protection level than the
Bill Wendling [Fri, 21 Nov 2008 00:06:32 +0000 (00:06 +0000)]
If the function being inlined has a higher stack protection level than the
inlining function, then increase the stack protection level on the inlining
function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59757 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIntroduce two new "add" intrinsics. These return the sum plus a bit indicating
Bill Wendling [Fri, 21 Nov 2008 00:05:31 +0000 (00:05 +0000)]
Introduce two new "add" intrinsics. These return the sum plus a bit indicating
that an overflow/carry occured. These are converted into ISD::[SU]ADDO nodes,
which are lowered in a target-independent way into something sane. Eventually,
each target can implement their own method of checking the overflow/carry flags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59756 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: More documentation.
Oscar Fuentes [Thu, 20 Nov 2008 23:35:09 +0000 (23:35 +0000)]
CMake: More documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59755 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDelete redundant inline keywords.
Dan Gohman [Thu, 20 Nov 2008 22:10:21 +0000 (22:10 +0000)]
Delete redundant inline keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59754 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDoxygenate comments.
Dan Gohman [Thu, 20 Nov 2008 22:09:52 +0000 (22:09 +0000)]
Doxygenate comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59753 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Some documentation. Work in progress.
Oscar Fuentes [Thu, 20 Nov 2008 22:05:48 +0000 (22:05 +0000)]
CMake: Some documentation. Work in progress.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59752 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTreat mid-block labels the same as terminators when building the
Dan Gohman [Thu, 20 Nov 2008 19:58:35 +0000 (19:58 +0000)]
Treat mid-block labels the same as terminators when building the
MachineInstr scheduling DAG, meaning they implicitly depend on all
preceding defs. This fixes Benchmarks/Shootout-C++/except and
Regression/C++/EH/simple_rethrow in
  -relocation-model=pic -disable-post-RA-scheduler=false
mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59747 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd another machine-code printing pass when post-pass scheduling is run.
Dan Gohman [Thu, 20 Nov 2008 19:54:21 +0000 (19:54 +0000)]
Add another machine-code printing pass when post-pass scheduling is run.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59746 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDon't forget arguments!
Devang Patel [Thu, 20 Nov 2008 19:50:17 +0000 (19:50 +0000)]
Don't forget arguments!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59745 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTest -pre-RA-sched=fast too, for completeness.
Dan Gohman [Thu, 20 Nov 2008 19:26:04 +0000 (19:26 +0000)]
Test -pre-RA-sched=fast too, for completeness.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59741 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Option for building with -fPIC.
Oscar Fuentes [Thu, 20 Nov 2008 19:13:51 +0000 (19:13 +0000)]
CMake: Option for building with -fPIC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59739 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUpdating ignore lists.
Gordon Henriksen [Thu, 20 Nov 2008 16:56:53 +0000 (16:56 +0000)]
Updating ignore lists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59737 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU:
Scott Michel [Thu, 20 Nov 2008 16:36:33 +0000 (16:36 +0000)]
CellSPU:
(a) Remove moved file (SPUAsmPrinter.cpp) to make svn happy.
(b) Remove truncated stores that will never be used.
(c) Add initial support for __muldi3 as a libcall.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59734 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd some documentation.
Duncan Sands [Thu, 20 Nov 2008 10:34:43 +0000 (10:34 +0000)]
Add some documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59727 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAllow XMM2 and XMM3 to be used for non ABI compliant code.
Mon P Wang [Thu, 20 Nov 2008 07:48:19 +0000 (07:48 +0000)]
Allow XMM2 and XMM3 to be used for non ABI compliant code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59720 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago80-column violation.
Bill Wendling [Thu, 20 Nov 2008 07:24:30 +0000 (07:24 +0000)]
80-column violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59718 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoReformatting. No functionality change.
Bill Wendling [Thu, 20 Nov 2008 07:23:34 +0000 (07:23 +0000)]
Reformatting. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59717 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd an operator= to assign to smallstring.
Chris Lattner [Thu, 20 Nov 2008 07:09:17 +0000 (07:09 +0000)]
add an operator= to assign to smallstring.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59715 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU: Custom lower truncating stores of i8 to i1 (should not have been
Scott Michel [Thu, 20 Nov 2008 05:01:09 +0000 (05:01 +0000)]
CellSPU: Custom lower truncating stores of i8 to i1 (should not have been
promote), fix signed conversion of indexed offsets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59707 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoundef beats zero. Fix this missed optimization opportunity. Patch by Matt Elder!
Nick Lewycky [Thu, 20 Nov 2008 04:36:13 +0000 (04:36 +0000)]
undef beats zero. Fix this missed optimization opportunity. Patch by Matt Elder!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59705 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert accidental last patch
Scott Michel [Thu, 20 Nov 2008 04:28:08 +0000 (04:28 +0000)]
Revert accidental last patch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59704 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU: Adjust spacing/tabulation
Scott Michel [Thu, 20 Nov 2008 04:26:21 +0000 (04:26 +0000)]
CellSPU: Adjust spacing/tabulation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59703 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove a remnant of list-burr's fast mode.
Dan Gohman [Thu, 20 Nov 2008 03:32:45 +0000 (03:32 +0000)]
Remove a remnant of list-burr's fast mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59702 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactor out the SethiUllman numbering logic from the list-burr and
Dan Gohman [Thu, 20 Nov 2008 03:30:37 +0000 (03:30 +0000)]
Factor out the SethiUllman numbering logic from the list-burr and
list-tdrr schedulers into a common base class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59701 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove the "fast" form of the list-burr scheduler, and use the
Dan Gohman [Thu, 20 Nov 2008 03:11:19 +0000 (03:11 +0000)]
Remove the "fast" form of the list-burr scheduler, and use the
dedicated "fast" scheduler in -fast mode instead, which is
faster. This speeds up llc -fast by a few percent on some
testcases -- the speedup only happens for code not handled by
fast-isel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59700 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: when building shared libraries, use -fPIC for compiling
Oscar Fuentes [Thu, 20 Nov 2008 03:10:17 +0000 (03:10 +0000)]
CMake: when building shared libraries, use -fPIC for compiling
partially linked objects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59699 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFacter AddPseudoTwoAddrDeps and associated infrasructure out of
Dan Gohman [Thu, 20 Nov 2008 02:45:51 +0000 (02:45 +0000)]
Facter AddPseudoTwoAddrDeps and associated infrasructure out of
the list-burr scheduler so that it can be used by the list-tdrr
scheduler too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59698 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Register scavenger should use MachineRegisterInfo and internal map to find the...
Evan Cheng [Thu, 20 Nov 2008 02:32:35 +0000 (02:32 +0000)]
- Register scavenger should use MachineRegisterInfo and internal map to find the first use of a register after a given machine instruction.
- When scavenging a register, in addition to the spill, insert a restore before the first use.
- Abort if client is looking to scavenge a register even when a previously scavenged register is still live.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59697 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix a thinko. MO is getOperand(i-1) so we don't have to adjust e.
Evan Cheng [Thu, 20 Nov 2008 02:25:51 +0000 (02:25 +0000)]
Fix a thinko. MO is getOperand(i-1) so we don't have to adjust e.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59696 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd #include <climits> to get the definition of INT_MAX.
Dan Gohman [Thu, 20 Nov 2008 01:41:34 +0000 (01:41 +0000)]
Add #include <climits> to get the definition of INT_MAX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59692 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFactor out the code for verifying the work of the scheduler,
Dan Gohman [Thu, 20 Nov 2008 01:26:25 +0000 (01:26 +0000)]
Factor out the code for verifying the work of the scheduler,
extend it a bit, and make use of it in all schedulers, to
ensure consistent checking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59689 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not forget llvm.dbg.declare's first argument while removing debugging information.
Devang Patel [Thu, 20 Nov 2008 01:20:42 +0000 (01:20 +0000)]
Do not forget llvm.dbg.declare's first argument while removing debugging information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59688 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCopy the tblgen utility.
Bill Wendling [Thu, 20 Nov 2008 00:11:57 +0000 (00:11 +0000)]
Copy the tblgen utility.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59681 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoSimplify this code a little. In the fast scheduler, CreateNewSUnit
Dan Gohman [Wed, 19 Nov 2008 23:39:02 +0000 (23:39 +0000)]
Simplify this code a little. In the fast scheduler, CreateNewSUnit
and CreateClone don't add any extra value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59679 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEliminate a compile time warning.
Evan Cheng [Wed, 19 Nov 2008 23:21:33 +0000 (23:21 +0000)]
Eliminate a compile time warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59678 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoEliminate a compile time warning.
Evan Cheng [Wed, 19 Nov 2008 23:21:11 +0000 (23:21 +0000)]
Eliminate a compile time warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59677 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoExperimental post-pass scheduling support. Post-pass scheduling
Dan Gohman [Wed, 19 Nov 2008 23:18:57 +0000 (23:18 +0000)]
Experimental post-pass scheduling support. Post-pass scheduling
is currently off by default, and can be enabled with
-disable-post-RA-scheduler=false.

This doesn't have a significant impact on most code yet because it doesn't
yet do anything to address anti-dependencies and it doesn't attempt to
disambiguate memory references. Also, several popular targets
don't have pipeline descriptions yet.

The majority of the changes here are splitting the SelectionDAG-specific
code out of ScheduleDAG, so that ScheduleDAG can be moved to
libLLVMCodeGen.a. The interface between ScheduleDAG-using code and
the rest of the scheduling code is somewhat rough and will evolve.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59676 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMove the code for printing a graph node label for an SUnit into
Dan Gohman [Wed, 19 Nov 2008 22:09:45 +0000 (22:09 +0000)]
Move the code for printing a graph node label for an SUnit into
a virtual method of SelectionDAG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59667 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoConvert SUnit's dump method into a print method and implement
Dan Gohman [Wed, 19 Nov 2008 21:32:03 +0000 (21:32 +0000)]
Convert SUnit's dump method into a print method and implement
dump in terms of it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59665 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Removed source file.
Oscar Fuentes [Wed, 19 Nov 2008 19:32:19 +0000 (19:32 +0000)]
CMake: Removed source file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59662 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoDo not use separate utility to walk all instructions and remove dead dbg intrinsics...
Devang Patel [Wed, 19 Nov 2008 19:01:37 +0000 (19:01 +0000)]
Do not use separate utility to walk all instructions and remove dead dbg intrinsics. Let instcombiner do this job.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59659 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLet instcombiner remove redundant dbg intrinsics.
Devang Patel [Wed, 19 Nov 2008 18:59:41 +0000 (18:59 +0000)]
Let instcombiner remove redundant dbg intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59658 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoIf there are two consecutive llvm.dbg.stoppoint calls then
Devang Patel [Wed, 19 Nov 2008 18:56:50 +0000 (18:56 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59657 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Removed source file from lib/Target/PIC16/CMakeLists.txt.
Oscar Fuentes [Wed, 19 Nov 2008 18:42:25 +0000 (18:42 +0000)]
CMake: Removed source file from lib/Target/PIC16/CMakeLists.txt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59655 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCellSPU: Do not custom lower i1 stores, rely on type legalization to do the
Scott Michel [Wed, 19 Nov 2008 17:45:08 +0000 (17:45 +0000)]
CellSPU: Do not custom lower i1 stores, rely on type legalization to do the
right thing and promote the store to i8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59648 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago<rdar://problem/6351057>
Stuart Hastings [Wed, 19 Nov 2008 17:19:35 +0000 (17:19 +0000)]
<rdar://problem/6351057>
Discourage (allocate last) use of x86_64 R12 and R13 due to their
longer instruction encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59644 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoignore the -m elf_i386 directive used in the linux kernel
Andrew Lenharth [Wed, 19 Nov 2008 17:00:08 +0000 (17:00 +0000)]
ignore the -m elf_i386 directive used in the linux kernel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59642 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRevert r59640. It broke this test for builds that aren't
Dan Gohman [Wed, 19 Nov 2008 16:24:37 +0000 (16:24 +0000)]
Revert r59640. It broke this test for builds that aren't
configured with llvm-gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59641 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse %llvmgcc -xassembler instead of invoking as directly. This avoids
Dan Gohman [Wed, 19 Nov 2008 16:02:14 +0000 (16:02 +0000)]
Use %llvmgcc -xassembler instead of invoking as directly. This avoids
problems for example when LLVM is built with --with-extra-options=-m64
and as defaults to x86-32 mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59640 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoTemporary check-in for Duncan to demonstrate CellSPU store problem.
Scott Michel [Wed, 19 Nov 2008 15:24:16 +0000 (15:24 +0000)]
Temporary check-in for Duncan to demonstrate CellSPU store problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59637 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix compilation error on MSVC.
Argyrios Kyrtzidis [Wed, 19 Nov 2008 12:56:21 +0000 (12:56 +0000)]
Fix compilation error on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59629 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoForgot to add this in the previous commit.
Sanjiv Gupta [Wed, 19 Nov 2008 12:12:49 +0000 (12:12 +0000)]
Forgot to add this in the previous commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59623 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFixed build warnings.
Sanjiv Gupta [Wed, 19 Nov 2008 11:27:59 +0000 (11:27 +0000)]
Fixed build warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59621 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdded a more function PIC16 backend. However to get this working a patch in
Sanjiv Gupta [Wed, 19 Nov 2008 11:00:54 +0000 (11:00 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59617 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse stripPointerCasts when checking for AllocaInsts for the stackprotector intrinsic.
Bill Wendling [Wed, 19 Nov 2008 09:17:16 +0000 (09:17 +0000)]
Use stripPointerCasts when checking for AllocaInsts for the stackprotector intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59614 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoInt type for PIC16 is i16. Added i16 intrinsics for memmove, memcpy and memset.
Sanjiv Gupta [Wed, 19 Nov 2008 08:50:17 +0000 (08:50 +0000)]
Int type for PIC16 is i16. Added i16 intrinsics for memmove, memcpy and memset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59612 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoadd a write method.
Chris Lattner [Wed, 19 Nov 2008 06:45:06 +0000 (06:45 +0000)]
add a write method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59595 91177308-0d34-0410-b5e6-96231b3b80d8

15 years ago- Move the stackprotector intrinsic to the general section.
Bill Wendling [Wed, 19 Nov 2008 05:56:17 +0000 (05:56 +0000)]
- Move the stackprotector intrinsic to the general section.
- Rewrite the sentence to make it look as if English is my first language.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59592 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoAdd support for rematerialization in pre-alloc-splitting.
Owen Anderson [Wed, 19 Nov 2008 04:28:29 +0000 (04:28 +0000)]
Add support for rematerialization in pre-alloc-splitting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59587 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLLVMC2: -emit-llvm stops compilation.
Daniel Dunbar [Wed, 19 Nov 2008 04:15:56 +0000 (04:15 +0000)]
LLVMC2: -emit-llvm stops compilation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59586 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoLLVMC2: Teach llvm_gcc_c tool about -include and -fsyntax-only.
Daniel Dunbar [Wed, 19 Nov 2008 02:59:00 +0000 (02:59 +0000)]
LLVMC2: Teach llvm_gcc_c tool about -include and -fsyntax-only.
 - Only focusing on llvm_gcc_c for now, eventually this needs to be
   refactored so it can be shared via all the gcc-like tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59582 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoGrammar.
Daniel Dunbar [Wed, 19 Nov 2008 02:37:39 +0000 (02:37 +0000)]
Grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59581 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRearrange code to reduce the nesting level. No functionality change.
Dan Gohman [Wed, 19 Nov 2008 02:00:32 +0000 (02:00 +0000)]
Rearrange code to reduce the nesting level. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59580 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoUse dyn_cast instead of cast.
Bill Wendling [Wed, 19 Nov 2008 01:25:41 +0000 (01:25 +0000)]
Use dyn_cast instead of cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59577 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoMatch an element of the return type if it returns a structure.
Bill Wendling [Wed, 19 Nov 2008 01:15:05 +0000 (01:15 +0000)]
Match an element of the return type if it returns a structure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59576 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoRemove unused variables.
Devang Patel [Wed, 19 Nov 2008 00:22:02 +0000 (00:22 +0000)]
Remove unused variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59570 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix typo.
Devang Patel [Wed, 19 Nov 2008 00:19:18 +0000 (00:19 +0000)]
Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59569 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoCMake: Support for building 32 bits shared libraries on 64 bits GNU
Oscar Fuentes [Wed, 19 Nov 2008 00:10:39 +0000 (00:10 +0000)]
CMake: Support for building 32 bits shared libraries on 64 bits GNU
systems. BUILD_32_BITS option renamed to LLVM_BUILD_32_BITS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59568 91177308-0d34-0410-b5e6-96231b3b80d8

15 years agoFix debug printing of flagged SDNodes in SUnits so that they
Dan Gohman [Wed, 19 Nov 2008 00:04:44 +0000 (00:04 +0000)]
Fix debug printing of flagged SDNodes in SUnits so that they
print in the correct order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59567 91177308-0d34-0410-b5e6-96231b3b80d8