Commit Graph

34978 Commits

Author SHA1 Message Date
Rafael Espindola
618b0d59e6 Test byval with a 8 bit aligned struct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43173 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 11:29:21 +00:00
Rafael Espindola
5c0d6ed325 Add support for byval function whose argument is not 32 bit aligned.
To do this it is necessary to add a "always inline" argument to the
memcpy node. For completeness I have also added this node to memmove
and memset.  I have also added getMem* functions, because the extra
argument makes it cumbersome to use getNode and because I get confused
by it :-)




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43172 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 10:41:11 +00:00
Chris Lattner
1f39dc42cd Implement a few new operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43171 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:46:45 +00:00
Chris Lattner
50f4395d86 Implement expansion of SINT_TO_FP and UINT_TO_FP operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43170 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:32:47 +00:00
Chris Lattner
c99df1b848 implement support for custom expansion of any node type, in one place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43169 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:14:36 +00:00
Chris Lattner
26cb2862e9 comment fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 04:08:28 +00:00
Chris Lattner
597ab48ca0 Make use of TLI.ExpandOperation, remove softfloat stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43167 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:58:25 +00:00
Chris Lattner
c224a53d7a add expand support for bit_convert result, even allowing custom expansion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43166 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:33:14 +00:00
Chris Lattner
f58dac3169 add a new target hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:31:45 +00:00
Chris Lattner
3a7c33a853 Add an easy microoptimization I noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43164 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 03:29:26 +00:00
Devang Patel
95cf196d15 New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43162 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 01:28:02 +00:00
Bill Wendling
1851898e75 Negative indices aren't allowed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43161 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 01:10:49 +00:00
Dale Johannesen
fabd32deb0 More ppcf128 issues (maybe the last)?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43160 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-19 00:59:18 +00:00
Evan Cheng
f0a0cddbcd - Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43153 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 22:40:57 +00:00
Evan Cheng
58184e6878 Use SmallVectorImpl instead of SmallVector with hardcoded size in MRegister public interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43150 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 21:29:24 +00:00
Devang Patel
99db6add3d Try again.
Instead of loading small global string from memory, use
integer constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43148 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 19:52:32 +00:00
Owen Anderson
b388ca9544 Allow GVN to eliminate redundant calls to functions without side effects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43147 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 19:39:33 +00:00
Christopher Lamb
c5ccbdbe32 Add an uppercase conversion utility function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43146 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 19:31:38 +00:00
Christopher Lamb
a4c791072f Fix a misnamed parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43145 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 19:29:45 +00:00
Christopher Lamb
91ee18c1f7 Fix a typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43144 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 19:28:55 +00:00
Chris Lattner
a0bc7fc7bd Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll by
fixing some obviously broken code :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43141 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 18:49:29 +00:00
Bill Wendling
50c26b642c Fix the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43140 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 18:26:40 +00:00
Devang Patel
45211d725b Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43136 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 17:54:49 +00:00
Chris Lattner
b7daa84a35 this doesn't need dynamic_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43133 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:26:24 +00:00
Chris Lattner
a0d9de0b66 remove dead file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43131 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:12:54 +00:00
Chris Lattner
fe3e3f4438 Reduce reliance on rtti info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43130 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:11:18 +00:00
Chris Lattner
53336cb47e fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43129 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:10:48 +00:00
Chris Lattner
44b38f2e2c update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43128 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 16:10:17 +00:00
Chris Lattner
8dc2e288ac This requires rtti info because tblgen uses commandline,
and tblgen requires rtti.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43127 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 15:57:29 +00:00
Chris Lattner
6c1ba31d6f tblgen uses dynamic_cast heavily, so it needs rtti info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43126 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 15:54:45 +00:00
Hartmut Kaiser
d9048606c4 Updated VC++ build system
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43123 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 12:31:51 +00:00
Gordon Henriksen
38ffcc93eb Work around downrev gccs which do not inherit visibility of the
Registry<>::iterator member class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43122 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 11:53:05 +00:00
Gordon Henriksen
9bb4ea03be Missing 'public' keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43121 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 11:31:21 +00:00
Bill Wendling
90bfc2d105 Pointer arithmetic should be done with the index the same size as the pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43120 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 08:32:37 +00:00
Duncan Sands
70ba3d4803 Support for ADDC/SUBC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43119 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 08:22:16 +00:00
Evan Cheng
4ae31a5d32 Really fix PR1734. Carefully track which register uses are sub-register uses by
traversing inverse register coalescing map.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43118 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 07:49:59 +00:00
Evan Cheng
cf1d7256d0 Remove unnecessary include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43117 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 07:47:55 +00:00
Chris Lattner
65a3323b0a legalizing the ret operation on f64 shouldn't introduce a new
i64 bit convert needlessly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 06:17:07 +00:00
Owen Anderson
7b714321df Move Split<...>() into DomTreeBase. This should make the #include's of DominatorInternals.h
in CodeExtractor and LoopSimplify unnecessary.

Hartmut, could you confirm that this fixes the issues you were seeing?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 05:13:52 +00:00
Devang Patel
cd2858ee16 XFAIL for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 00:48:43 +00:00
Ted Kremenek
52e2d83e65 Changed the return type of type-specific Allocate() methods to return
void*.  This is hint that we are returning uninitialized memory rather
than a constructed object.

Patched ImutAVLTree to conform to this new interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18 00:30:14 +00:00
Evan Cheng
afa222c895 Reverting r43070 for now. It's causing llc test failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 23:51:13 +00:00
Bill Wendling
d9417188f3 Test to make sure we don't generate unwind info for non-64-bit Objective-C.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43102 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 23:14:56 +00:00
Ted Kremenek
fa4710427f ImutAVLTree now allocates tree nodes from the BumpPtrAllocator using
the new type-aligned Allocate() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43100 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:17:01 +00:00
Ted Kremenek
129d7d3bde Removed inclusion of cassert, which is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43099 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:12:14 +00:00
Ted Kremenek
6740463c74 Minor cosmetic cleanups in the calculation of alignments for
StringMapEntry objects.  No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43097 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:09:45 +00:00
Ted Kremenek
87f3870db9 Added template function alignof() which provides a clean
function-based interface to getting the alignment of a type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43096 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 22:08:55 +00:00
Gordon Henriksen
774577c1f9 Reverting unnecessary commit of generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43095 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 21:36:08 +00:00
Gordon Henriksen
4b2b9402c5 Switching TargetMachineRegistry to use the new generic Registry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43094 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 21:28:48 +00:00
Ted Kremenek
9080aaba0b Updated StringMap to use llvm::AlignOf to compute the alignment of map
entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43089 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-17 21:13:50 +00:00