History log of /external/llvm/lib/CodeGen/IntrinsicLowering.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cddc3e03e4ec99c0268c03a126195173e519ed58 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

(cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383)

Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
6d9e013447efb7f9fbed8d3348d6dbde208f32a7 10-Nov-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Use type form of getIntPtrType.

This should be inconsequential and is work
towards removing the default address space
arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c2b7f5fa511420b99dd8238ab4ba769a6a6015a5 21-May-2013 Justin Holewinski <jholewinski@nvidia.com> Drop @llvm.annotation and @llvm.ptr.annotation intrinsics during codegen.

The intrinsic calls are dropped, but the annotated value is propagated.

Fixes PR 15253

Original patch by Zeng Bin!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
58446916b71c4ff79962081ea7c4df078c388b0e 08-Feb-2013 Bob Wilson <bob.wilson@apple.com> Revert "Add LLVMContext::emitWarning methods and use them. <rdar://problem/12867368>"

This reverts r171041. This was a nice idea that didn't work out well.
Clang warnings need to be associated with warning groups so that they can
be selectively disabled, promoted to errors, etc. This simplistic patch didn't
allow for that. Enhancing it to provide some way for the backend to specify
a front-end warning type seems like overkill for the few uses of this, at
least for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
a0be09f511c68a88ee95b73c8f0ebd78156a559e 24-Dec-2012 Bob Wilson <bob.wilson@apple.com> Add LLVMContext::emitWarning methods and use them. <rdar://problem/12867368>

When the backend is used from clang, it should produce proper diagnostics
instead of just printing messages to errs(). Other clients may also want to
register their own error handlers with the LLVMContext, and the same handler
should work for warnings in the same way as the existing emitError methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
ece6c6bb6329748b92403c06ac87f45c43485911 01-Nov-2012 Chandler Carruth <chandlerc@gmail.com> Revert the series of commits starting with r166578 which introduced the
getIntPtrType support for multiple address spaces via a pointer type,
and also introduced a crasher bug in the constant folder reported in
PR14233.

These commits also contained several problems that should really be
addressed before they are re-committed. I have avoided reverting various
cleanups to the DataLayout APIs that are reasonable to have moving
forward in order to reduce the amount of churn, and minimize the number
of commits that were reverted. I've also manually updated merge
conflicts and manually arranged for the getIntPtrType function to stay
in DataLayout and to be defined in a plausible way after this revert.

Thanks to Duncan for working through this exact strategy with me, and
Nick Lewycky for tracking down the really annoying crasher this
triggered. (Test case to follow in its own commit.)

After discussing with Duncan extensively, and based on a note from
Micah, I'm going to continue to back out some more of the more
problematic patches in this series in order to ensure we go into the
LLVM 3.2 branch with a reasonable story here. I'll send a note to
llvmdev explaining what's going on and why.

Summary of reverted revisions:

r166634: Fix a compiler warning with an unused variable.
r166607: Add some cleanup to the DataLayout changes requested by
Chandler.
r166596: Revert "Back out r166591, not sure why this made it through
since I cancelled the command. Bleh, sorry about this!
r166591: Delete a directory that wasn't supposed to be checked in yet.
r166578: Add in support for getIntPtrType to get the pointer type based
on the address space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7ed4f94c1337b931524af99eb1aac72563888239 29-Oct-2012 Duncan Sands <baldrick@free.fr> Remove a wrapper around getIntPtrType added to GVN by Hal in commit 166624 (the
wrapper returns a vector of integers when passed a vector of pointers) by having
getIntPtrType itself return a vector of integers in this case. Outside of this
wrapper, I didn't find anywhere in the codebase that was relying on the old
behaviour for vectors of pointers, so give this a whirl through the buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
aa76e9e2cf50af190de90bc778b7f7e42ef9ceff 24-Oct-2012 Micah Villmow <villmow@gmail.com> Add in support for getIntPtrType to get the pointer type based on the address space.
This checkin also adds in some tests that utilize these paths and updates some of the
clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
3574eca1b02600bac4e625297f4ecf745f4c4f32 08-Oct-2012 Micah Villmow <villmow@gmail.com> Move TargetData to DataLayout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
06cb8ed00696eb14d1b831921452e50ec0568ea2 29-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h

This was always part of the VMCore library out of necessity -- it deals
entirely in the IR. The .cpp file in fact was already part of the VMCore
library. This is just a mechanical move.

I've tried to go through and re-apply the coding standard's preferred
header sort, but at 40-ish files, I may have gotten some wrong. Please
let me know if so.

I'll be committing the corresponding updates to Clang and Polly, and
Duncan has DragonEgg.

Thanks to Bill and Eric for giving the green light for this bit of cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
efd564fbd6b38964f717bf1c34f37f441eb5cf36 31-Jan-2012 Bill Wendling <isanbard@gmail.com> Remove the now-dead llvm.eh.exception and llvm.eh.selector intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
a3efbb15ddd5aa9006564cd79086723640084878 15-Jul-2011 Jay Foad <jay.foad@gmail.com> Convert CallInst and InvokeInst APIs to use ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
eb9a85f09e18b3fe88499710404b38d3a9128f62 14-Jul-2011 Benjamin Kramer <benny.kra@googlemail.com> Change Intrinsic::getDeclaration and friends to take an ArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
5fdd6c8793462549e3593890ec61573da06e3346 12-Jul-2011 Jay Foad <jay.foad@gmail.com> Second attempt at de-constifying LLVM Types in FunctionType::get(),
StructType::get() and TargetData::getIntPtrType().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
2280ebd61416b73d0b6137f275b25af82e268d1f 12-Jul-2011 Bill Wendling <isanbard@gmail.com> Revert r134893 and r134888 (and related patches in other trees). It was causing
an assert on Darwin llvm-gcc builds.

Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
ne 2067.
etc.

http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354

--- Reverse-merging r134893 into '.':
U include/llvm/Target/TargetData.h
U include/llvm/DerivedTypes.h
U tools/bugpoint/ExtractFunction.cpp
U unittests/Support/TypeBuilderTest.cpp
U lib/Target/ARM/ARMGlobalMerge.cpp
U lib/Target/TargetData.cpp
U lib/VMCore/Constants.cpp
U lib/VMCore/Type.cpp
U lib/VMCore/Core.cpp
U lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Instrumentation/ProfilingUtils.cpp
U lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/CodeGen/SjLjEHPrepare.cpp
--- Reverse-merging r134888 into '.':
G include/llvm/DerivedTypes.h
U include/llvm/Support/TypeBuilder.h
U include/llvm/Intrinsics.h
U unittests/Analysis/ScalarEvolutionTest.cpp
U unittests/ExecutionEngine/JIT/JITTest.cpp
U unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
U unittests/VMCore/PassManagerTest.cpp
G unittests/Support/TypeBuilderTest.cpp
U lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
U lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
U lib/VMCore/IRBuilder.cpp
G lib/VMCore/Type.cpp
U lib/VMCore/Function.cpp
G lib/VMCore/Core.cpp
U lib/VMCore/Module.cpp
U lib/AsmParser/LLParser.cpp
U lib/Transforms/Utils/CloneFunction.cpp
G lib/Transforms/Utils/CodeExtractor.cpp
U lib/Transforms/Utils/InlineFunction.cpp
U lib/Transforms/Instrumentation/GCOVProfiling.cpp
U lib/Transforms/Scalar/ObjCARC.cpp
U lib/Transforms/Scalar/SimplifyLibCalls.cpp
U lib/Transforms/Scalar/MemCpyOptimizer.cpp
G lib/Transforms/IPO/DeadArgumentElimination.cpp
U lib/Transforms/IPO/ArgumentPromotion.cpp
U lib/Transforms/InstCombine/InstCombineCompares.cpp
U lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
U lib/Transforms/InstCombine/InstCombineCalls.cpp
U lib/CodeGen/DwarfEHPrepare.cpp
U lib/CodeGen/IntrinsicLowering.cpp
U lib/Bitcode/Reader/BitcodeReader.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f362affa3a695164a94d275fb44d18f44ebb855a 11-Jul-2011 Jay Foad <jay.foad@gmail.com> De-constify Types in FunctionType::get().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9da9934e27dfb48de77b80a3e20ed2d869b52024 06-Jul-2011 Jakub Staszak <jstaszak@apple.com> Introduce "expect" intrinsic instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
55d42003368c57d3a41c5f464d39b8440050d558 08-Jan-2011 Evan Cheng <evan.cheng@apple.com> Recognize inline asm 'rev /bin/bash, ' as a bswap intrinsic call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
1f4096054367cab3acab3a74c719ef6d3090606a 24-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> Get rid of pop_macro warnings on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
a399781289092fcdceb58b21174229f4373c4191 22-Jul-2010 Gabor Greif <ggreif@gmail.com> undo 80 column trespassing I caused

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
d0fcab915441c0748667ef981ef85989abd28b11 30-Jun-2010 Gabor Greif <ggreif@gmail.com> use CallSite::arg_end instead of CallInst::op_end

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9e38531d9561630520732146c32977443c73c243 25-Jun-2010 Gabor Greif <ggreif@gmail.com> use ArgOperand API and CallSite to access arguments of CallInst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7d9663c70b3300070298d716dba6e6f6ce2d1e3e 11-May-2010 Douglas Gregor <dgregor@apple.com> Fixes for Microsoft Visual Studio 2010, from Steven Watanabe!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
551754c4958086cc6910da7c950f2875e212f5cf 17-Apr-2010 Eric Christopher <echristo@apple.com> Revert 101465, it broke internal OpenGL testing.

Probably the best way to know that all getOperand() calls have been handled
is to replace that API instead of updating.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
4ec2258ffb495d7ce00177e447740ef1123a27db 16-Apr-2010 Gabor Greif <ggreif@gmail.com> reapply r101434
with a fix for self-hosting

rotate CallInst operands, i.e. move callee to the back
of the operand array

the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
607a7ab3da72a2eb53553a520507cbb8068dd1d8 16-Apr-2010 Gabor Greif <ggreif@gmail.com> back out r101423 and r101397, they break llvm-gcc self-host on darwin10

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
2ff961f66816daab8bbc58a19025161d969821c2 15-Apr-2010 Gabor Greif <ggreif@gmail.com> reapply r101364, which has been backed out in r101368
with a fix

rotate CallInst operands, i.e. move callee to the back
of the operand array

the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9ee17208115482441953127615231c59a2f4d052 15-Apr-2010 Gabor Greif <ggreif@gmail.com> back out r101364, as it trips the linux nightlybot on some clang C++ tests

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
165dac08d1bb8428b32a5f39cdd3dbee2888987f 15-Apr-2010 Gabor Greif <ggreif@gmail.com> rotate CallInst operands, i.e. move callee to the back
of the operand array

the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
46510a73e977273ec67747eb34cbdb43f815e451 15-Apr-2010 Dan Gohman <gohman@apple.com> Add const qualifiers to CodeGen's use of LLVM IR constructs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
75361b69f3f327842b9dad69fa7f28ae3b688412 08-Apr-2010 Chris Lattner <sabre@nondot.org> rename llvm::llvm_report_error -> llvm::report_fatal_error



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b0bc6c361da9009e8414efde317d9bbff755f6c0 15-Feb-2010 Duncan Sands <baldrick@free.fr> Uniformize the names of type predicates: rather than having isFloatTy and
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f012705c7e4ca8cf90b6b734ce1d5355daca5ba5 05-Jan-2010 Benjamin Kramer <benny.kra@googlemail.com> Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
614d2ad0afaaee874684c3945afda659d587b7e6 05-Jan-2010 Devang Patel <dpatel@apple.com> Delete renaming use of dead dbg intrinsics.

Intrinsic::dbg_stoppoint
Intrinsic::dbg_region_start
Intrinsic::dbg_region_end
Intrinsic::dbg_func_start



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f07c9497b2ad030457c9314db5bfb8b0b204a0da 10-Nov-2009 Duncan Sands <baldrick@free.fr> Codegen support for the llvm.invariant/lifetime.start/end intrinsics:
just throw them away.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b01bbdcc1af27bd90b552bb1b62b48916e0d4be3 14-Oct-2009 Duncan Sands <baldrick@free.fr> I don't see any point in having both eh.selector.i32 and eh.selector.i64,
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector.
Likewise for eh.typeid.for. This aligns us with gcc, which always uses a
32 bit value for the selector on all platforms. My understanding is that
the register allocator used to assert if the selector intrinsic size didn't
match the pointer size, and this was the reason for introducing the two
variants. However my testing shows that this is no longer the case (I
fixed some bugs in selector lowering yesterday, and some more today in the
fastisel path; these might have caused the original problems).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
ac53a0b272452013124bfc70480aea5e41b60f40 06-Oct-2009 Duncan Sands <baldrick@free.fr> Introduce and use convenience methods for getting pointer types
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
45cfe545ec8177262dabc70580ce05feaa1c3880 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
1d0be15f89cb5056e20e2d24faa8d6afb1573bca 13-Aug-2009 Owen Anderson <resistor@mac.com> Push LLVMContexts through the IntegerType APIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
a7235ea7245028a0723e8ab7fd011386b3900777 31-Jul-2009 Owen Anderson <resistor@mac.com> Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
eed707b1e6097aac2bb6b3d47271f6300ace7f2e 25-Jul-2009 Owen Anderson <resistor@mac.com> Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e922c0201916e0b980ab3cfe91e1413e68d55647 22-Jul-2009 Owen Anderson <resistor@mac.com> Get rid of the Pass+Context magic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9adc0abad3c3ed40a268ccbcee0c74cb9e1359fe 15-Jul-2009 Owen Anderson <resistor@mac.com> Move EVER MORE stuff over to LLVMContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
481d15a12289ec4d058b863da93794fd8be1e702 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> eliminate extra space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0a5372ed3e8cda10d724feda3c1a1c998db05ca0 13-Jul-2009 Owen Anderson <resistor@mac.com> Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
eaff5246707cc620736e895c239ff78298b3d95e 12-Jul-2009 Chris Lattner <sabre@nondot.org> remove llvm.part.set.* and llvm.part.select.*. They have never been
implemented in codegen, have no frontend to generate them, and are
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).

PR4543



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7d696d80409aad20bb5da0fc4eccab941dd371d4 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
and abort()/exit() -> llvm_report_error().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
d1fbd142945f5ef0c273c3d756431f8cb9d25ded 08-Jul-2009 Owen Anderson <resistor@mac.com> Push LLVMContext _back_ through IRBuilder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b41b5e0b2d865f9dcb8cc868b28929daf3a11207 26-Jun-2009 Owen Anderson <resistor@mac.com> Get rid of these cache variables, which are a holdover from the days when
we had multiple type planes and these lookups were expensive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
6279cd85e9e59c93d43877bf2cf7d116e51ce021 25-Jun-2009 Owen Anderson <resistor@mac.com> Now with EVEN FEWER statics!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e1e201416ae8ab40d31d223c5d560ee0f635e05a 12-May-2009 Jay Foad <jay.foad@gmail.com> Switch to using IRBuilder throughout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
589b1efe1b83a43cf89a41841664ce0b4ae3e838 11-May-2009 Jay Foad <jay.foad@gmail.com> Don't generate redundant casts of constant values when lowering calls to
memcpy, memmove and memset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 07-Mar-2009 Duncan Sands <baldrick@free.fr> Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
556b4a6385d34b77e58ff5a3ce51ddae5ae6112c 07-Feb-2009 Chris Lattner <sabre@nondot.org> Add missing break statements, fixing PR3503.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c0425b646f726de9b2422bc48ec316c4be9f6d7f 30-Jan-2009 Zhou Sheng <zhousheng00@gmail.com> As Duncan suggested, add braces for the one-line "else branch".
Thanks, Duncan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
904ebf9bf4e6487892cda2e89b8e6d40803e4733 30-Jan-2009 Zhou Sheng <zhousheng00@gmail.com> This is to fix the bug in IntrinsicLowering.cpp,
the LowerPartSet(). It didn't handle the situation correctly when
the low, high argument values are in reverse order (low > high)
with 'Val' type i32 (a corner case).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
824b958e6fb1236e92e4d07f3acf18fca107cdc0 21-Nov-2008 Chris Lattner <sabre@nondot.org> reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an
arbitrary integer width for the count.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
dc770929cb2f97397970e2942b746839fc387992 21-Nov-2008 Bill Wendling <isanbard@gmail.com> Revert r59802. It was breaking the build of llvm-gcc:

g++ -m32 -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -mdynamic-no-pic -DHAVE_CONFIG_H -Wno-unused -DTARGET_NAME=\"i386-apple-darwin9.5.0\" -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include ../../llvm-gcc.src/gcc/llvm-types.cpp -o llvm-types.o
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1496: error: 'memcpy_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemMove(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1512: error: 'memmove_i64' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp: In member function 'void TreeToLLVM::EmitMemSet(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int)':
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i32' is not a member of 'llvm::Intrinsic'
../../llvm-gcc.src/gcc/llvm-convert.cpp:1528: error: 'memset_i64' is not a member of 'llvm::Intrinsic'
make[3]: *** [llvm-convert.o] Error 1
make[3]: *** Waiting for unfinished jobs....
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
219ab405e6bea993da14cf3ce7b50983c3bb7a6f 21-Nov-2008 Sanjiv Gupta <sanjiv.gupta@microchip.com> Make mem[cpy,move,set] intrinsics overloaded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f74185b80e07d58208b24f0314d94853d48ec9bd 22-Sep-2008 Dale Johannesen <dalej@apple.com> More refactoring. Yawn.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c4342eab9bb999050dd94be929093c6e36a49c67 22-Sep-2008 Dale Johannesen <dalej@apple.com> Refactor FP intrinisic setup. Per review feedback.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7794f2a3a7778bdbc9bdd861db1fe914450e0470 04-Sep-2008 Dale Johannesen <dalej@apple.com> Add intrinsics for log, log2, log10, exp, exp2.
No functional change (and no FE change to generate them).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7cbd8a3e92221437048b484d5ef9c0a22d0f8c58 16-May-2008 Gabor Greif <ggreif@gmail.com> API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. Legacy interfaces will be in place for some time. (Merge from use-diet branch.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
051a950000e21935165db56695e35bade668193b 06-Apr-2008 Gabor Greif <ggreif@gmail.com> API changes for class Use size reduction, wave 1.
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
4ee451de366474b9c228b4e5fa573795a715216d 29-Dec-2007 Chris Lattner <sabre@nondot.org> Remove attribution from file headers, per discussion on llvmdev.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
43ad6b3e0d6ada51e9b23aab3e061187f1f5710c 17-Dec-2007 Christopher Lamb <christopher.lamb@gmail.com> Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
917c2a6ff2cfcd1263a5dd80c54336754c553ace 16-Nov-2007 Anton Korobeynikov <asl@math.spbu.ru> Implement necessary bits for flt_rounds gcc builtin.
Codegen bits and llvm-gcc support will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44182 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c4c966012901691fff21eed02d72a3de44dd47f1 16-Oct-2007 Dan Gohman <gohman@apple.com> Teach IntrinsicLowering.cpp about the sin, cos, and pow intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43020 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9ab7fb3ba47442d521a5bed09a27a5e8e7a786ed 02-Oct-2007 Dale Johannesen <dalej@apple.com> Rewrite sqrt and powi to use anyfloat. By popular demand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
4292d1c02a6f10eca22aa6e27d57ea8bf15b3140 28-Sep-2007 Dale Johannesen <dalej@apple.com> minor long double related changes



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
8806c7b1f5317a9679a5779ffc08c552f2091bce 07-Sep-2007 Anton Korobeynikov <asl@math.spbu.ru> Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
718cb665ca6ce2bc4d8e8479f46a45db91b49f86 07-Sep-2007 Owen Anderson <resistor@mac.com> Add lengthof and endof templates that hide a lot of sizeof computations.
Patch by Sterling Stein!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
914ce4508d46bdc5db0eec1aff8051ccd94c3d5f 06-Aug-2007 Chris Lattner <sabre@nondot.org> Fix a regression compiling 2005-05-11-Popcount-ffs-fls with the CBE,
introduced by chandler's patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
52eec548206d0b135b55ba52dd0e82e978f15ae5 01-Aug-2007 David Greene <greened@obbligato.org> New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.

Updates to all clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f664e41b201bad27ed3661bf50cd71f54242c114 06-Jul-2007 Duncan Sands <baldrick@free.fr> The exception handling intrinsics return values,
so must be lowered to a value, not nothing at all.
Subtle point: I made eh_selector return 0 and
eh_typeid_for return 1. This means that only
cleanups (destructors) will be run as the exception
unwinds [if eh_typeid_for returned 0 then it would
be as if the first catch always matched, and the
corresponding handler would be run], which is
probably want you want in the CBE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
cf26d7ccac1ad052b750edec36b13bc9ea8f70d7 04-Jul-2007 Duncan Sands <baldrick@free.fr> Extend eh.selector to support both catches and filters.
Drop the eh.filter intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
24e5aada7d112447c41c12008f7daf1fc15a24bc 16-Jun-2007 Tanya Lattner <tonic@nondot.org> Codegen support (stripped out) for the annotate attribute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
976e2da081519d3438da6bf8e5ae7b25cc3433e4 12-Jun-2007 Lauro Ramos Venancio <lauro.venancio@gmail.com> Fix a typo in bswap lowering.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
02031c0ff8ad48acdb8c4a4058c4fafe600423e1 02-Jun-2007 Zhou Sheng <zhousheng00@gmail.com> Make LowerCTPOP() support arbitrary bitwidth integer type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
924361aef931a8f0c366b1090021d5be13c37c6b 26-May-2007 Zhou Sheng <zhousheng00@gmail.com> Correct the logic in LowerPartSet which cleared the bits from 0 to low-1.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
76c94b616924b19b850e274df0c6485b9395fcb9 15-May-2007 Reid Spencer <rspencer@reidspencer.com> Un-brain-dead-ify the lowering of part set for the reverse case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9bd57b6561abd7701bff5d46bb88fed6b9a8dbb9 14-May-2007 Reid Spencer <rspencer@reidspencer.com> Give names to the final result values of the part_set computations. This
just aids in readability and debugability of the output. No functional change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
5156f5b214bafc24e20ed49114b35ffbd55dc623 12-May-2007 Reid Spencer <rspencer@reidspencer.com> Get the size of auto arrays right, regardless of its changing size.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9a9203b8948cc4ab275ca21d34821589e272c47c 17-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Fix problems in the PartSet lowering having to do with incorrect bit width.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
df41353497b7b561649303a6a8bf23a7cb995f5a 12-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Make sure intrinsics that are lowered to functions make the function weak
linkage so we only end up with one of them in a program. These are, after
all overloaded and templatish in nature.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
eeedcb6905febe0d3b68be2ce55347a211843da6 12-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Fix bugs in generated code for part_select and part_set so that llc doesn't
barf when CBE is run with a program that contains these intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35946 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
37958093c6462a1226f9cfaeebf4d736aaf3606e 12-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Fix a bug in PartSet. The replacement value needs to be zext or trunc to
the size of the value, not just zext. Also, give better names to two BBs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f75b874957aa61e81804e266daf671aa9dcc75b9 12-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1284:
Implement the "part_set" intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c6eb6d72550aa3f7241141e3e28520dfef738c81 10-Apr-2007 Chris Lattner <sabre@nondot.org> apparently some people commit without building the tree, or they forget to
commit a LOT of files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
addd11d98ee3a3013c66d3fd25ee2cfb09b3c7bd 05-Apr-2007 Reid Spencer <rspencer@reidspencer.com> Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
dc1966e6bac9d323e18db2e18d955885e0edd702 02-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1297:
Make sure that the CTPOP result is casted to i32 as the bit counting
intrinsics all return i32 now (this affects CTLZ and CTTZ as well).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e9391fd9b52e93717b365bdd05c471101323a4df 01-Apr-2007 Reid Spencer <rspencer@reidspencer.com> For PR1297:
Support overloaded intrinsics bswap, ctpop, cttz, ctlz.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0b4711bd94e0723735848ad999bccfb1fb61eeb9 01-Mar-2007 Jim Laskey <jlaskey@mac.com> Lower eh filter intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
63f3e3fa1d67f7696298373d43a2e064b7a0d1c2 28-Feb-2007 Jim Laskey <jlaskey@mac.com> Provide a more meaningful name.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
774b864f0e7f3812e7daddf8553649e995ce040a 22-Feb-2007 Jim Laskey <jlaskey@mac.com> Update comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f9b1cbc80d89b9a03d73b8b3c1703b344e1d9b70 22-Feb-2007 Jim Laskey <jlaskey@mac.com> Remove assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b180aa17539e14a5430d020bbc7de83c79b7fc4b 21-Feb-2007 Jim Laskey <jlaskey@mac.com> Selection and lowering for exception handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
990b849abc9481b8c7a482019cd0d95fe2f2a3ea 13-Feb-2007 Chris Lattner <sabre@nondot.org> eliminate vector-related allocations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
c67da0cf13e2d671061449e8da4ffe102e5fc848 06-Feb-2007 Chris Lattner <sabre@nondot.org> Two fixes:
1. Memset takes an i32 for the value to set, not i8. This was causing GCC to
ICE all over the place (PR1183).
2. memcpy/memmove were not properly zext/trunc'ing the size in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7d6f77db284913a1dd4b5f362fd62ba65b76784b 06-Feb-2007 Chris Lattner <sabre@nondot.org> Fix PR1181 and CodeGen/CBackend/2007-02-05-memset.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33957 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
1b19cd35fe86810c9f3c56e5dd577bd3c8520231 02-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Use short form of BinaryOperator create function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
832254e1c2387c0cbeb0a820b8315fbe85cb003a 02-Feb-2007 Reid Spencer <rspencer@reidspencer.com> Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 30-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
6addf2ceeb7b231e32308b7b15c77bc8992868a7 29-Jan-2007 Reid Spencer <rspencer@reidspencer.com> Use TargetData to obtain the correct size of the "size_t" argument for
functions like memcpy, memmove and memset. Ensure only one prototype is
used for these functions and that it matches the system definition by
using the appropriate type for the size argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
1e9126b3c47d5ecee98fd7384628a4f098857a6b 28-Jan-2007 Reid Spencer <rspencer@reidspencer.com> For PR1138:
Force memcpy to be the 32-bit variant. Since this is only used with
CBE and lli which both target 32-bit machines, this should be okay.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
42a75517250017a52afb03a0ade03cbd49559fe5 15-Jan-2007 Chris Lattner <sabre@nondot.org> rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.

This makes naming much more consistent. For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0ee69bbd333c22198344e7336ae74767ca9381cc 15-Jan-2007 Chris Lattner <sabre@nondot.org> eliminate calls to Type::isInteger, preferring isIntegral instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f01da5939d1f62e3c2b69beecd184001a5dfc983 07-Jan-2007 Chris Lattner <sabre@nondot.org> llvm 2.0 doesn't support llvm.isunordered.*


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b76efb71d41dc1ae33e47d5d9ef79df25cde0b5d 07-Jan-2007 Chris Lattner <sabre@nondot.org> Change the interface to Module::getOrInsertFunction to be easier to use,to resolve PR1088, and to help PR411.
This simplifies many clients also


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
47857812e29324a9d1560796a05b53d3a9217fd9 31-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
type of an function parameter was used to determine whether it should
be sign extended or zero extended before the call. This information is
now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
the parameter attribute information. Although it would have been
convenient to pass in the FunctionType itself, there isn't always one
present in the caller. Consequently, a signedness indication for the
result type and for each parameter was provided for in the interface
to this method. All implementations were changed to make the adjustment
necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e4d87aa2de6e52952dca73716386db09aad5a8fd 23-Dec-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
eefef64e591a851a47cd0525d96616ba99f73c75 21-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Simplify all the casting business and get rid of isSigned().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32731 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
8a903db4990d57aadea5cdad601ff26e92899103 18-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Convert the last uses of CastInst::createInferredCast to a normal cast
creation. These changes are still temporary but at least this pushes
knowledge of signedness out closer to where it can be determined properly
and allows signedness to be removed from VMCore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
3bb7e3f3bae7f5004e82b9af0a6d713ddef4be8f 12-Dec-2006 Chris Lattner <sabre@nondot.org> This case isn't needed with recent changes to ConstantInt::get


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
15f46d6c280cc91be70c60ed181931fbe0088652 12-Dec-2006 Reid Spencer <rspencer@reidspencer.com> Change inferred cast creation calls to more specific cast creations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e81561909d128c6e2d8033cb5465a49b2596b26a 07-Dec-2006 Bill Wendling <isanbard@gmail.com> Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
d9fd2acc1f172e4b8c33c3562667102f9af4d28d 28-Nov-2006 Bill Wendling <isanbard@gmail.com> Changed to using llvm streams.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
3da59db637a887474c1b1346c1f3ccf53b6c4663 27-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b71fd7897f6b4500cdbe602c5a9907316750cf5a 15-Nov-2006 Chris Lattner <sabre@nondot.org> Simplify IntrinsicLowering and clarify that it is only for use by the
CBE and interpreter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
3822ff5c71478c7c90a50ca57045fb676fcb5005 08-Nov-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b83eb6447ba155342598f0fabe1f08f5baa9164a 20-Oct-2006 Reid Spencer <rspencer@reidspencer.com> For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
43970fec322d9e0153ca513de41d80af1c79bdde 23-Mar-2006 Jim Laskey <jlaskey@mac.com> Handle new forms of llvm.dbg intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f4321a3a438833dade457e24da6e1e6907cabcd5 13-Mar-2006 Jim Laskey <jlaskey@mac.com> Handle the removal of the debug chain.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26729 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
59bcce5ae52afff2ba4840bfa630b20e8ff4ddb2 09-Mar-2006 Chris Lattner <sabre@nondot.org> remove dbg_declare, it's not used yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26659 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
03dd4652158f8a4c1db65f066195342d4a3695a7 03-Mar-2006 Chris Lattner <sabre@nondot.org> Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0b118206bf3411722707f2e5cab8fd2eedcd50d6 16-Jan-2006 Reid Spencer <rspencer@reidspencer.com> For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e598181889d8ab43c3924799fd310e68571186f1 16-Jan-2006 Nate Begeman <natebegeman@mac.com> Add BSWAP stuff to intrinsic lowering for CBE & friends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0c067bc11d5274973c21f83b6c6403a9928265d8 13-Jan-2006 Chris Lattner <sabre@nondot.org> Add "support" for the llvm.stacksave/stackrestore intrinsics, this is
used by the C backend.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
51b8d54922350b7e1c2cd5a5183ef2c5f5d1b1d5 11-Nov-2005 Andrew Lenharth <andrewl@lenharth.org> continued readcyclecounter support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
66c5fd6c537269eaef0f630fa14360dcaff6a295 23-Oct-2005 Jeff Cohen <jeffc@jolt-lang.org> When a function takes a variable number of pointer arguments, with a zero
pointer marking the end of the list, the zero *must* be cast to the pointer
type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.

The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
00b16889ab461b7ecef1c91ade101186b7f1fce2 27-Jul-2005 Jeff Cohen <jeffc@jolt-lang.org> Eliminate all remaining tabs and trailing spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
98cf45bbf6b6efc1b90d4744082149e9b5f3e17a 11-May-2005 Chris Lattner <sabre@nondot.org> Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passes
with the CBE


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
a801172e504b45b2266486ec68adb64f7fcf8e17 11-May-2005 Chris Lattner <sabre@nondot.org> Fix lowering of cttz to work with signed values


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
86f3e0c24e8834e6ad5ac61f2459fb335549bc24 11-May-2005 Chris Lattner <sabre@nondot.org> fix and concisify intinsic lowering for ctpop. Unfortunately, this code
looks completely untested. :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
1f243e9f43e3552c28331c2e17b7c19bdfc889f6 08-May-2005 Chris Lattner <sabre@nondot.org> Wrap long lines. Fix "warning: conflicting types for built-in function 'memset'"
warning from the CBE+GCC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
691ef2ba066dda14ae4ac0ad645054fbc967785a 03-May-2005 Andrew Lenharth <andrewl@lenharth.org> Implement count leading zeros (ctlz), count trailing zeros (cttz), and count
population (ctpop). Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.

More coming soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b1beff0f0d5422d6e7a26a92b691a75367a352fe 30-Apr-2005 Alkis Evlogimenos <alkis@evlogimenos.com> Do not use deprecated APIs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
b42a9ffbe9f5dc7dc0e54c6425dff10e926e1f3d 30-Apr-2005 Chris Lattner <sabre@nondot.org> Lower llvm.sqrt -> fsqrt/sqrt


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
edf128a7fa90f2b0b7ee24741a04a7ae1ecd6f7e 22-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
7f4ec3b2e3157e6a0798f3e95a3961bfa6ef66b6 28-Mar-2005 Andrew Lenharth <andrewl@lenharth.org> First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
e4d5c441e04bdc00ccf1804744af670655123b07 15-Mar-2005 Chris Lattner <sabre@nondot.org> This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.

This patch is contributed by Gabor Greif, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
d0656fc94dbdbf87217812f68778963dbd6244eb 01-Mar-2005 Alkis Evlogimenos <alkis@evlogimenos.com> Lower llvm.isunordered(a, b) into a != a | b != b.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0942b7caf1b5fde959301042129d25f1e7b86b28 28-Feb-2005 Chris Lattner <sabre@nondot.org> Lower prefetch to a noop, patch contributed by Justin Wick!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
47b14a4a6a455c7be169cfd312fcbe796f0ad426 29-Jul-2004 Misha Brukman <brukman+llvm@gmail.com> Fix #includes of i*.h => Instructions.h as per PR403.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
954da37bb492b519f5c31dc360f2a142567e08b4 04-Jul-2004 Reid Spencer <rspencer@reidspencer.com> Add #include <iostream> since Value.h does not #include it any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
30483737486d00e5c1c37f51138419aa08d8b5e3 20-Jun-2004 Chris Lattner <sabre@nondot.org> Move the IntrinsicLowering header into the CodeGen directory, as per PR346


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
be78ac442216ef87b13f9ac3da365a693417c693 15-Jun-2004 Chris Lattner <sabre@nondot.org> Remove isnan support, correct isunordered support


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9685372062a07c49d6c940d9094df07850092cd2 12-Jun-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add the isunordered intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
02348caffc6a0ca6e00960767152b6b7422ab450 11-Jun-2004 Chris Lattner <sabre@nondot.org> Fix lowering to work correctly


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
137cc4fc8c549c805e817095e2d82776a2af8095 11-Jun-2004 Chris Lattner <sabre@nondot.org> I misled Alkis: LLVM should have isnan, not isunordered.
isunordered(X, Y) === isnan(X) | isnan(Y)

Remove isunordered, add isnan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f616f22e816ce7f7ba3414cf3d91c9410aa03223 11-Jun-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add the isunordered intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f0a3e6c21cc24ebbec701bd8f6b1253b49498457 05-Jun-2004 Chris Lattner <sabre@nondot.org> Remove an unused variable.
Work around for bogus errors: no those static functions don't need to
be executed to be initialized!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
0979ca7e3e8ff1bb3f38f7b93a02db2e1704333c 09-May-2004 Chris Lattner <sabre@nondot.org> Implement the AddPrototypes method


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
9b700f7951b07cb7be885c7560066c73733ef101 15-Feb-2004 Chris Lattner <sabre@nondot.org> By default, llvm.setjmp/llvm.longjmp intrinsics get lowered to their libc counterparts


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
588e72db75649e8f9f79d73c24156c9611aeacf3 15-Feb-2004 Chris Lattner <sabre@nondot.org> Refactor code. Now the intrinsic lowering pass tries to recycle preexisting
prototypes, even if they don't precisely match what it would prefer to use.
This fixes: CBackend/2004-02-15-PreexistingExternals.llx compiling it into:

ltmp_0_30 = memcpy(l14_C, 4u, 17);
ltmp_1_30 = memcpy(((int *)l27_A), ((unsigned )(long)l27_B), ((int )123u));

instead of:

ltmp_0_30 = memcpy(l14_C, 4u, 17);
ltmp_1_27 = l43_memcpy(l27_A, l27_B, 123u);

Which does the wrong thing as you could imagine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
cc42d2c3ccd17a82c3c0abc95a720e183e84dbdd 14-Feb-2004 Chris Lattner <sabre@nondot.org> A target that doesn't support these intrinsics will still meet spec (the
intrinsic will always produce zero), but it will behave unexpectedly, so
warn like GCC does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
cf8990838143fcfa91dd6276af523ac6c23517c2 14-Feb-2004 Chris Lattner <sabre@nondot.org> Add llvm.memset/frameaddress/returnaddress intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
2751e76a709738590242adce47a3b55bc77fd36d 12-Feb-2004 Chris Lattner <sabre@nondot.org> Add support for the llvm.memmove intrinsic

Patch graciously contributed by Reid Spencer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
5fe51cc2c46afca64638597cdef3bdafa6cd0a8c 12-Feb-2004 Chris Lattner <sabre@nondot.org> Implement the llvm.memcpy intrinsic


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f907bac06887abf84fd7b46cd54f8d53ff0272c5 14-Jan-2004 Chris Lattner <sabre@nondot.org> Hrm, apparently I missed lowering this intrinsic. :(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
77b1330ece6ea40b3b7700fe13e2ca64bd494203 05-Jan-2004 Chris Lattner <sabre@nondot.org> Add VMCore and code generator support for debugging intrinsics. By default
code generators completely ignore them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
f70e0c216c074bd2ae2b08178f5512849545db4e 28-Dec-2003 Chris Lattner <sabre@nondot.org> Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering
implementation from the TargetMachine directly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
42450d8a5fe3809d75b9e40641e551fb7d9aa2a4 28-Dec-2003 Chris Lattner <sabre@nondot.org> Move into the VMCore library


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp
3b66ecb05fedbfe0a70b39d73b1ea5998bc8c31b 28-Dec-2003 Chris Lattner <sabre@nondot.org> Implement the default implementation of the intrinsic lowering class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/IntrinsicLowering.cpp