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
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
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
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
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
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
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
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
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
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
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
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