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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Evan Cheng [Tue, 18 Nov 2008 23:54:01 +0000 (23:54 +0000)]
Make the same change to RegScavenger::backward.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59566
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 18 Nov 2008 23:45:21 +0000 (23:45 +0000)]
CMake: Option for enabling/disabling threads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59565
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 23:09:31 +0000 (23:09 +0000)]
Verify that the second parameter of the stacprotector intrinsic is an alloca
instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59563
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Nov 2008 22:56:19 +0000 (22:56 +0000)]
We also need to keep the operand index for two address check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59562
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Nov 2008 22:28:38 +0000 (22:28 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59559
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Nov 2008 22:27:13 +0000 (22:27 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59558
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 22:10:53 +0000 (22:10 +0000)]
Documentation for the llvm.stackprotector intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59557
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Nov 2008 21:34:39 +0000 (21:34 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59552
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 21:29:14 +0000 (21:29 +0000)]
Don't set neverHasSideEffects on x86's divide instructions, since
they trap on divide-by-zero, and this side effect is otherwise
unmodeled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59551
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 21:22:20 +0000 (21:22 +0000)]
Tidy up ScheduleNodeBottomUp methods, and make them more
consistent with ScheduleNodeTopDown methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59550
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 21:14:44 +0000 (21:14 +0000)]
Update a comment to reflect the current code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59549
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Nov 2008 21:13:59 +0000 (21:13 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59548
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Nov 2008 21:13:41 +0000 (21:13 +0000)]
Remove even more llvm.dbg variables.
Remove all dead globals from llvm.metadata.
Ignore linkonce linkage for selected llvm.dbg values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59547
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 18 Nov 2008 21:12:01 +0000 (21:12 +0000)]
CMake: Remove HAVE_LT_DLOPEN from config.h.cmake because it was
removed from config.h.in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59546
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Nov 2008 20:56:22 +0000 (20:56 +0000)]
Simplify code using helper routines. There is not
supposed to be any functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59545
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 18 Nov 2008 20:53:59 +0000 (20:53 +0000)]
Fix a bug introduced by my previous patch. With this change, SPEC is now clean with prealloc splitting enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59544
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 19:49:32 +0000 (19:49 +0000)]
Add more const qualifiers. This fixes build breakage from r59540.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59542
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 19:04:29 +0000 (19:04 +0000)]
Make some methods const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59540
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Nov 2008 18:43:07 +0000 (18:43 +0000)]
Initialize MallocFunc and FreeFunc properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59538
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 17:05:42 +0000 (17:05 +0000)]
Whitespace cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59532
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 17:03:06 +0000 (17:03 +0000)]
Add svn:ignore for build directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59531
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Nov 2008 16:40:48 +0000 (16:40 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59530
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 18 Nov 2008 15:10:54 +0000 (15:10 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59528
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 11:01:33 +0000 (11:01 +0000)]
Rename stackprotector_create intrinsic to stackprotector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59519
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 10:57:27 +0000 (10:57 +0000)]
Cast to remove warning about comparing signed and unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59518
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Tue, 18 Nov 2008 10:44:46 +0000 (10:44 +0000)]
Implement support for JIT exceptions on X86_64. Relative offsets are
encoded on 32 bytes, and the personality function is not encoded as
relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59516
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Nov 2008 10:39:04 +0000 (10:39 +0000)]
Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59515
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 18 Nov 2008 09:15:03 +0000 (09:15 +0000)]
Reapply r59464, this time using the correct type
when softening FNEG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59513
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 07:34:50 +0000 (07:34 +0000)]
A simple test for stack protectors. This should be valid on all platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59505
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 07:30:57 +0000 (07:30 +0000)]
Remove the stackprotector_check intrinsic. Use a volatile load instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59504
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 05:32:11 +0000 (05:32 +0000)]
- Use "moveAfter" instead of "remove/insert" of a basic block.
- Use less indentation in coding.
- Shorten description.
- Update comments.
- Move code around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59496
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 02:50:01 +0000 (02:50 +0000)]
Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59489
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 02:06:40 +0000 (02:06 +0000)]
Change SUnit's dump method to take a ScheduleDAG* instead of
a SelectionDAG*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59488
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Nov 2008 01:49:24 +0000 (01:49 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59487
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 01:05:04 +0000 (01:05 +0000)]
There is no InstrStage class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59480
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Nov 2008 00:40:02 +0000 (00:40 +0000)]
Give SIToFPInst preference over UIToFPInst because it is faster on platforms that are widely used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59476
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Nov 2008 00:38:59 +0000 (00:38 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59475
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 17 Nov 2008 23:27:13 +0000 (23:27 +0000)]
While handling floating point IVs lift restrictions on initial value and increment value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59471
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 17 Nov 2008 21:32:02 +0000 (21:32 +0000)]
Handle floating point ivs during doInitialization().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59466
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 17 Nov 2008 21:31:02 +0000 (21:31 +0000)]
Eliminate some trivial differences between the ScheduleNodeTopDown
functions in these two schedulers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59465
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Mon, 17 Nov 2008 20:52:38 +0000 (20:52 +0000)]
Add soft float support for a bunch more operations. Original
patch by Richard Osborne, tweaked and extended by your humble
servant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59464
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 17 Nov 2008 19:52:36 +0000 (19:52 +0000)]
Don't bother doing latency calculations in the "fast" scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59461
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 17 Nov 2008 19:45:19 +0000 (19:45 +0000)]
Use SUnit's CycleBound field instead of duplicating it in
a side-car datastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59458
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 17 Nov 2008 18:57:45 +0000 (18:57 +0000)]
Remove these, which test for optimizations that
are not currently done (cf PowerPC/README.txt).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59456
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Mon, 17 Nov 2008 18:56:34 +0000 (18:56 +0000)]
Move some former testcases (low-probability codegen
optimizations) into this wishlist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59455
91177308-0d34-0410-b5e6-
96231b3b80d8