Dale Johannesen
aafce77b17
Add CommonLinkage; currently tentative definitions
...
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51118 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 20:12:51 +00:00
Dan Gohman
4d9dd6beae
Make PreVerifyID, IntSigsEnd, and KillSigsEnd const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51088 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-14 00:42:30 +00:00
Gabor Greif
94fb68ba21
Merge of r51073-51074 from use-diet branch.
...
Do not rely on std::swap<Use>, provide a (faster) member function instead.
This change is primarily necessitated by MSVC++'s incompatibility with
declaring std::swap<Use> to be a friend of Use.
Also contains some minor tweaks to Use inline functions,
to undo pointless changes that sneaked in with the last merge.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51078 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 22:51:52 +00:00
Devang Patel
2527e88416
Dominance Frontier is cfg only pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51075 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 22:43:21 +00:00
Gabor Greif
d6a2218586
Derive GetResultInst from UnaryInstruction, this simplifies code and removes a FIXME.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51023 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 07:09:08 +00:00
Dan Gohman
6ddba2b933
Change class' public PassInfo variables to by initialized with the
...
address of the PassInfo directly instead of calling getPassInfo.
This eliminates a bunch of dynamic initializations of static data.
Also, fold RegisterPassBase into PassInfo, make a bunch of its
data members const, and rearrange some code to initialize data
members in constructors instead of using setter member functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51022 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 02:05:11 +00:00
Dan Gohman
844731a7f1
Clean up the use of static and anonymous namespaces. This turned up
...
several things that were neither in an anonymous namespace nor static
but not intended to be global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-13 00:00:25 +00:00
Nate Begeman
c83ad0d8e7
Pointer comparisons should be handled by icmp, not vicmp :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50994 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 20:11:05 +00:00
Nate Begeman
18e4e8500f
Hard code CmpInst back to i1 for now while I go track down what in the bitcode reader/writer is assuming i1
...
This was breaking a bunch of tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50992 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 20:01:56 +00:00
Nate Begeman
6fd90ce2ee
Fix build breakage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50986 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:23:22 +00:00
Nate Begeman
ac80ade158
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50985 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 19:01:56 +00:00
Dan Gohman
9b38d7db6d
Update comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-12 16:34:30 +00:00
Gabor Greif
efe65369a7
merge of use-diet branch to trunk
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50943 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-10 08:32:32 +00:00
Anton Korobeynikov
018f771398
Check for validity of aliasee pointer before dereference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50878 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 23:11:06 +00:00
Chris Lattner
748118d8aa
conservatively say that volatile stores read memory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50872 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 21:58:49 +00:00
Chris Lattner
38818b072f
store can't read from memory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50869 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 21:47:43 +00:00
Chris Lattner
d96288a2ff
add a new Instruction::mayReadFromMemory predicate, make
...
Instruction::mayWriteToMemory stronger for invokes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50858 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-08 17:16:51 +00:00
Anton Korobeynikov
0b12ecf6ff
Turn StripPointerCast() into a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50836 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-07 22:54:15 +00:00
Anton Korobeynikov
b04adddd50
Make StripPointerCast a common function (should we mak it method of Value instead?)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 22:52:30 +00:00
Dan Gohman
84b7df43fb
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 01:32:53 +00:00
Gordon Henriksen
16c1f44d91
Use (void) instead of () in C code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50620 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-04 12:55:34 +00:00
Evan Cheng
22b942aa4d
Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This allow us to simplify the horribly complicated matching code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50601 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-03 00:52:09 +00:00
Chris Lattner
5c5f1095ec
fix a bug in my previous patch, a classic =/== bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50483 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30 15:27:09 +00:00
Chris Lattner
12e6d20059
add a method for comparing to see if a value has a specified name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50465 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30 03:55:40 +00:00
Gordon Henriksen
e2435da8ab
Expose parameter attributes via C bindings.
...
Patch by Anders Johnsen!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-28 17:37:06 +00:00
Chris Lattner
96bb622646
Allow asms to return multiple results by value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-27 23:33:55 +00:00
Nick Lewycky
280a6e607d
Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989
...
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 16:53:59 +00:00
Chris Lattner
80b8f5dd6b
tighten up verifier checks which missed cases where
...
return instrs operands didn't match up with function results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 20:33:41 +00:00
Chris Lattner
d52b62ae05
Enforce that multiple return values have to have at least one result.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 05:36:34 +00:00
Chris Lattner
42369b7e4b
Verify that the operand of a getresult instruction is a
...
call/invoke or undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50129 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 04:06:15 +00:00
Chris Lattner
eb411291fa
more fallout from Nicholas' asmprinter patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50078 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22 02:45:44 +00:00
Chris Lattner
ea705199af
don't print dominators every time it is computed with -debug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50032 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 06:19:02 +00:00
Chris Lattner
a1b5858fda
another bug introduced in r47802 by nicholas, for no apparent reason.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50031 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 06:12:55 +00:00
Chris Lattner
96c5b2f8c7
fix a bug introduced by Nicholas' "unwinds to" stuff: we
...
lost newlines between blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50024 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21 04:20:33 +00:00
Chris Lattner
7ae40e7d8a
add a handy helper method to instruction, useful for determining
...
whether it is used outside of some block. This can be used to see
if there are any non-local references, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50004 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 22:11:30 +00:00
Chris Lattner
3e5d1d8d08
hopefully resolve PR2240
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49999 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 19:59:12 +00:00
Chris Lattner
0e4b6c7551
rearrange some code, simplify handling of shifts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49995 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 18:24:14 +00:00
Chris Lattner
eb9c8e1e3f
Use simplified ConstantFP::get method, fix a bug handling frem x, 0 with long doubles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49976 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20 00:26:06 +00:00
Chris Lattner
d881ad2c57
Implement PR2206.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49967 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 22:17:26 +00:00
Chris Lattner
1c14c29746
refactor handling of symbolic constant folding, picking up
...
a few new cases( see Integer/a1.ll), but not anything that
would happen in practice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49965 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 21:58:19 +00:00
Chris Lattner
61783d7322
indentation fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 21:13:00 +00:00
Dale Johannesen
48325f4b08
Don't read off end of the input array.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49799 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 17:31:41 +00:00
Owen Anderson
1f23e16319
Major repairs to the post-dominators implementation. Patch from Florian Brandner!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49768 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 04:21:16 +00:00
Dan Gohman
d660f973dc
VAArg may trap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49646 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-14 15:07:08 +00:00
Duncan Sands
89f6d88db3
Merge LLVMBuilder and FoldingBuilder, calling
...
the result IRBuilder. Patch by Dominic Hamon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49604 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-13 06:22:09 +00:00
Dan Gohman
3bd659ba20
Make several symbols static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49496 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-10 21:11:47 +00:00
Chris Lattner
288e78fbe7
add a simplified accessor for creating an fp constant of a
...
particular value but variable type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49416 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09 06:38:30 +00:00
Chris Lattner
4592230265
add a version of ConstantFP::get that doesn't take a redundant Type* value,
...
start migrating code over to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49413 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-09 00:45:01 +00:00
Duncan Sands
92432a8db1
Convenience method for setting the nounwind
...
attribute for a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49373 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-08 07:23:58 +00:00
Duncan Sands
79ab3e8014
Make sure that intrinsics automagically get the
...
right parameter attributes no matter how they
are obtained.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49335 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 13:39:11 +00:00