- Aug 11, 2009
-
-
Owen Anderson authored
llvm-svn: 78610
-
- Aug 06, 2009
-
-
Owen Anderson authored
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs. llvm-svn: 78258
-
- Jul 29, 2009
-
-
Bob Wilson authored
the return type of the intrinsic is not overloaded, i.e., where the type being matched is some other parameter. The argument to LLVMMatchType is an index into the list of overloaded types (ignoring the fixed types), but VerifyIntrinsicPrototype is expecting its arguments for LLVMMatchType parameters to be indices into the combined list of _all_ return values and parameters, not just the overloaded ones. This patch changes TableGen to keep track for each overloaded type of the corresponding index into the list of return values and parameters. It then generates the values expected by VerifyIntrinsicPrototype. llvm-svn: 77467
-
- Jul 07, 2009
-
-
Devang Patel authored
llvm-svn: 74882
-
- Jul 03, 2009
-
-
Daniel Dunbar authored
- Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
-
- Jul 01, 2009
-
-
Chris Lattner authored
to not have to create a temporary vector (in the API at least). Patch by Jay Foad! llvm-svn: 74584
-
- Apr 16, 2009
-
-
Bob Wilson authored
and argument positions but only to the overloaded intrinsic parameters. Keep a separate list of these overloaded parameters in CodeGenTarget.cpp so they can be resolved easily. Remove assertions from IntrinsicEmitter.cpp: they were harmless but confusing, and the assertions elsewhere in TableGen will catch any incorrect values. llvm-svn: 69316
-
- Mar 26, 2009
-
-
Jim Grosbach authored
llvm-svn: 67758
-
- Feb 25, 2009
-
-
Mon P Wang authored
or target) can be overloaded or not. llvm-svn: 65404
-
- Feb 14, 2009
-
-
Duncan Sands authored
intrinsics to any IntrWriteArgMem intrinsics. llvm-svn: 64551
-
- Feb 05, 2009
-
-
Dale Johannesen authored
llvm-svn: 63812
-
- Feb 04, 2009
-
-
Dale Johannesen authored
and llvm-gcc. llvm-svn: 63786
-
Nate Begeman authored
target directories themselves. This also means that VMCore no longer needs to know about every target's list of intrinsics. Future work will include converting the PowerPC target to this interface as an example implementation. llvm-svn: 63765
-
- Jan 12, 2009
-
-
Chris Lattner authored
llvm.memcpy/memset/memmove. This allows removal of some hackish code from basicaa. llvm-svn: 62071
-
Chris Lattner authored
change. llvm-svn: 62067
-
Chris Lattner authored
not a random piece of it. No functionality change. llvm-svn: 62066
-
- Jan 07, 2009
-
-
Bob Wilson authored
to handle LLVMMatchType intrinsic parameters, and by adding new subclasses of LLVMMatchType to match vector types with integral elements that are either twice as wide or half as wide as the elements of the matched type. llvm-svn: 61834
-
- Nov 13, 2008
-
-
Bill Wendling authored
llvm-svn: 59242
-
Bill Wendling authored
llvm-svn: 59241
-
Bill Wendling authored
"parameter" types. An intrinsic can now return a multiple return values like this: def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty], [LLVMMatchType<0>, LLVMMatchType<0>]>; llvm-svn: 59237
-
- Sep 25, 2008
-
-
Devang Patel authored
s/ParamAttr/Attribute/g s/PAList/AttrList/g s/FnAttributeWithIndex/AttributeWithIndex/g s/FnAttr/Attribute/g This sets the stage - to implement function notes as function attributes and - to distinguish between function attributes and return value attributes. This requires corresponding changes in llvm-gcc and clang. llvm-svn: 56622
-
- Jul 30, 2008
-
-
Mon P Wang authored
to different address spaces. This alters the naming scheme for those intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32 llvm-svn: 54195
-
- Jun 06, 2008
-
-
Duncan Sands authored
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
-
- Jan 04, 2008
-
-
Chris Lattner authored
the VC++ 'nesting depth' issue. llvm-svn: 45567
-
Chris Lattner authored
llvm-svn: 45563
-
Bill Wendling authored
if (!strcmp(Target, "x86")) { // ... } else IntrinsicID = Intrinsic::not_intrinsic; llvm-svn: 45557
-
- Jan 02, 2008
-
-
Chris Lattner authored
comparison for every builtin. This reduces the depth of the if/elseif chain dramatically. llvm-svn: 45500
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45419
-
- Dec 17, 2007
-
-
Christopher Lamb authored
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. llvm-svn: 45082
-
- Dec 03, 2007
-
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
- Sep 28, 2007
-
-
Dale Johannesen authored
llvm-svn: 42423
-
- Aug 16, 2007
-
-
Dan Gohman authored
llvm-svn: 41128
-
- Aug 06, 2007
-
-
Chandler Carruth authored
This resolves a regression of BasicAA which failed to find any memory information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search. llvm-svn: 40872
-
- Aug 04, 2007
-
-
Chandler Carruth authored
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported. llvm-svn: 40807
-
- Jul 26, 2007
-
-
Dan Gohman authored
llvm-svn: 40527
-
- Jun 26, 2007
-
-
Dan Gohman authored
llvm-svn: 37727
-
- May 22, 2007
-
-
Reid Spencer authored
types of the iAny types involved in the overloaded intrinsic. Thus, we can't use the argument number as the index but have to count them separately in order to index Tys correctly. This patch rectifies this situation. llvm-svn: 37296
-
- Apr 16, 2007
-
-
Reid Spencer authored
Don't assert everytime an intrinsic name isn't recognized. Instead, make the assert optional when callin getIntrinsicID(). This allows the assembler to handle invalid intrinsic names gracefully. llvm-svn: 36120
-
- Apr 01, 2007
-
-
Reid Spencer authored
Implement code generation for overloaded intrinsic functions. The basic difference is that "actual" argument types must be provided when constructing intrinsic names and types. Also, for recognition, only the prefix is examined. If it matches, the suffix is assumed to match. The suffix is checked by the Verifier, however. llvm-svn: 35539
-
- Feb 15, 2007
-
-
Chris Lattner authored
llvm-svn: 34321
-