Dan Gohman
b4eeb4dfba
Commit the header I accidentally left out of 51083.
...
llvm-svn: 51093
2008-05-14 04:39:40 +00:00
Dan Gohman
766d1c1aee
Move RemoveFromVector out of the global namespace.
...
llvm-svn: 51090
2008-05-14 01:02:49 +00:00
Dan Gohman
ffe0b1f40e
Whitespace cleanups.
...
llvm-svn: 51089
2008-05-14 00:43:10 +00:00
Dan Gohman
045c2ae820
Make getNumContainedManagers and getNumContainedPasses const.
...
llvm-svn: 51087
2008-05-14 00:40:34 +00:00
Dan Gohman
75c583173c
Make PassInfo noncopyable.
...
llvm-svn: 51085
2008-05-14 00:39:39 +00:00
Dan Gohman
4dc39991f8
Split the loop unroll mechanism logic out into a utility function.
...
Patch by Matthijs Kooijman!
llvm-svn: 51083
2008-05-14 00:24:14 +00:00
Gabor Greif
dd2f5c797d
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.
llvm-svn: 51078
2008-05-13 22:51:52 +00:00
Eric Christopher
4b7ff26ffd
Make this function public.
...
llvm-svn: 51077
2008-05-13 22:51:04 +00:00
Anton Korobeynikov
5961d53986
Add thin layer over StringMap to form StringSet. By Mikhail Glushenkov.
...
llvm-svn: 51048
2008-05-13 15:03:16 +00:00
Evan Cheng
9e15622879
Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset.
...
pshufd $1, (%rdi), %xmm0
movd %xmm0, %eax
=>
movl 4(%rdi), %eax
llvm-svn: 51026
2008-05-13 08:35:03 +00:00
Gabor Greif
22afb1f8f0
Derive GetResultInst from UnaryInstruction, this simplifies code and removes a FIXME.
...
llvm-svn: 51023
2008-05-13 07:09:08 +00:00
Dan Gohman
138a53b303
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.
llvm-svn: 51022
2008-05-13 02:05:11 +00:00
Evan Cheng
fcbdc8bd6e
Xform bitconvert(build_pair(load a, load b)) to a single load if the load locations are at the right offset from each other.
...
llvm-svn: 51008
2008-05-12 23:04:07 +00:00
Bill Wendling
646f3458c4
Constify the machine instruction passed into the
...
"is{Trivially,Really}ReMaterializable" methods.
llvm-svn: 51001
2008-05-12 20:54:26 +00:00
Evan Cheng
228cce5b2d
Forgot this.
...
llvm-svn: 50993
2008-05-12 20:08:05 +00:00
Nate Begeman
11c0772a30
Add support for vicmp/vfcmp codegen, more legalize support coming.
...
This is necessary to unbreak the build.
llvm-svn: 50988
2008-05-12 19:40:03 +00:00
Nate Begeman
b5b1e1353b
Add two new instructions to the llvm IR, vicmp and vfcmp. see updated LangRef
...
for details. CodeGen support coming in a follow up patch
llvm-svn: 50985
2008-05-12 19:01:56 +00:00
Chris Lattner
f459fcde61
Add a new SparsePropagation analysis utility, which allows you to do
...
SCCP like sparse lattice analysis with relative ease. Just pick your
lattice function and implement the transfer function and you're good.
Just make sure you don't break monotonicity ;-)
llvm-svn: 50961
2008-05-12 01:12:24 +00:00
Nick Lewycky
6bc321fbdf
Make constructors target-specific. This fixes problems where the path would
...
include backslashes on Windows. This should fix llvm-ld problems on win32.
llvm-svn: 50960
2008-05-11 17:37:40 +00:00
Bill Wendling
cc084a6ba1
Remove warnings when using -Wshorten-64-to-32.
...
llvm-svn: 50952
2008-05-10 19:59:59 +00:00
Bill Wendling
cc8838799d
Prevent -W64-to-32-shortened warnings.
...
llvm-svn: 50947
2008-05-10 11:26:52 +00:00
Bill Wendling
adfb940f3a
Prevent warnings from the -Wshorten-64-to-32 flag.
...
llvm-svn: 50946
2008-05-10 10:58:07 +00:00
Gabor Greif
724556e521
remove commented-out code, it is subsumed by DECLARE_TRANSPARENT_OPERAND_ACCESSORS
...
llvm-svn: 50944
2008-05-10 09:36:58 +00:00
Gabor Greif
49bf1a4cf6
merge of use-diet branch to trunk
...
llvm-svn: 50943
2008-05-10 08:32:32 +00:00
Evan Cheng
f87942325f
Make OpActionsCapacity multiple of 4.
...
llvm-svn: 50917
2008-05-09 21:50:23 +00:00
Chris Lattner
69724eed32
add support for pattern matching 'neg'
...
llvm-svn: 50883
2008-05-09 05:20:27 +00:00
Chris Lattner
3c362081d5
add a new Instruction::mayReadFromMemory predicate, make
...
Instruction::mayWriteToMemory stronger for invokes.
llvm-svn: 50858
2008-05-08 17:16:51 +00:00
Anton Korobeynikov
ddb93e7a02
Turn StripPointerCast() into a method
...
llvm-svn: 50836
2008-05-07 22:54:15 +00:00
Ted Kremenek
1534cce257
Make the interface of CStrInCStrNoCase be the same as strcasestr.
...
llvm-svn: 50828
2008-05-07 20:04:18 +00:00
Chris Lattner
3ee18d7c51
Add a new LibCallAliasAnalysis pass, which is parameterized
...
by an instance of LibCallInfo to provide mod/ref info of
standard library functions. This is powerful enough to
say that 'sqrt' is readonly except that it modifies errno,
or that "printf doesn't store to memory unless the %n
constraint is present" etc.
llvm-svn: 50827
2008-05-07 19:53:05 +00:00
Ted Kremenek
b82fe559d6
Fix some serious logical errors in CStrInCStrNoCase pointed out by Bill.
...
llvm-svn: 50826
2008-05-07 19:22:36 +00:00
Duncan Sands
6f4e916c6a
Output correct exception handling and frame info
...
on x86-64 linux. This causes no regressions on
32 bit linux and 32 bit ppc. More tests pass
on 64 bit ppc with no regressions. I didn't
turn on eh on 64 bit linux because the intrinsics
needed to compile the eh runtime aren't done
yet. But if you turn it on and link with the
mainline runtime then eh seems to work fine
on x86-64 linux with this patch. Thanks to
Dale for testing. The main point of the patch
is that if you output that some object is
encoded using 4 bytes you had better not output
8 bytes for it: the patch makes everything
consistent.
llvm-svn: 50825
2008-05-07 19:11:09 +00:00
Ted Kremenek
cbaf12a084
Guard for empty strings in CStrInCStrNoCase.
...
llvm-svn: 50823
2008-05-07 18:49:31 +00:00
Ted Kremenek
535ed35152
Added CStrInCStrNoCase, a portable implementation of strcasestr.
...
llvm-svn: 50821
2008-05-07 18:35:46 +00:00
Chris Lattner
e70ff7b21c
Add a new interface for describing the behavior of library calls. This
...
Currently is sufficient to describe mod/ref behavior but will hopefully
eventually be extended for other purposes.
This isn't used by anything yet.
llvm-svn: 50820
2008-05-07 18:21:13 +00:00
Nick Lewycky
adfc627b77
Typo.
...
llvm-svn: 50805
2008-05-07 06:39:04 +00:00
Bill Wendling
a7619e13ed
Make the use of the "noinline" attribute conditional on using GCC.
...
llvm-svn: 50789
2008-05-07 00:00:34 +00:00
Bill Wendling
9d987912d6
Workaround for a compiler bug (see <rdar://problem/5852746>). Once that bug is
...
fixed, revert this patch.
llvm-svn: 50782
2008-05-06 23:30:02 +00:00
Anton Korobeynikov
90ee6d6616
Make StripPointerCast a common function (should we mak it method of Value instead?)
...
llvm-svn: 50775
2008-05-06 22:52:30 +00:00
Gordon Henriksen
464bfd405a
Improve documentation.
...
llvm-svn: 50768
2008-05-06 19:17:01 +00:00
Dan Gohman
a84b75df17
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
llvm-svn: 50695
2008-05-06 01:32:53 +00:00
Dan Gohman
f7f3f7ab8f
Fix a broken doxygen comment, and reword it for clarity.
...
llvm-svn: 50687
2008-05-06 00:20:10 +00:00
Bill Wendling
9facb00af6
Using "unsigned" was masking the "size_t" version of this method.
...
llvm-svn: 50668
2008-05-05 20:51:58 +00:00
Devang Patel
0206af99dc
Remove unused function.
...
llvm-svn: 50664
2008-05-05 19:44:16 +00:00
Mon P Wang
84a269e023
Added addition atomic instrinsics and, or, xor, min, and max.
...
llvm-svn: 50663
2008-05-05 19:05:59 +00:00
Evan Cheng
d9353009b7
Fix more -Wshorten-64-to-32 warnings.
...
llvm-svn: 50659
2008-05-05 18:30:58 +00:00
Evan Cheng
281654e4fb
Fix 80 column violations.
...
llvm-svn: 50655
2008-05-05 17:41:03 +00:00
Dan Gohman
c860d9c77c
Add AsmPrinter support for emitting a directive to declare that
...
the code being generated does not require an executable stack.
Also, add target-specific code to make use of this on Linux
on x86.
llvm-svn: 50634
2008-05-05 00:28:39 +00:00
Owen Anderson
611b415d12
Fix PR1098 by correcting the postdominators analysis.
...
Patch by Florian Brandner.
llvm-svn: 50628
2008-05-04 21:07:35 +00:00
Chris Lattner
9b05ba1b41
remove obsolete method.
...
llvm-svn: 50622
2008-05-04 18:14:55 +00:00