| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
llvm-svn: 67758
 | 
| | 
| 
| 
|  | 
llvm-svn: 63812
 | 
| | 
| 
| 
| 
| 
|  | 
and llvm-gcc.
llvm-svn: 63786
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
|  | 
parse them.  tblgen doesn't yet do anything with this info though.
llvm-svn: 62065
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
"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
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
the commuted variants for dagisel matching code.
- Mark lots of X86 intrinsics as "Commutative" to allow load folding.
llvm-svn: 52353
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
CodeGenDAGPatterns, where it can be used in other tablegen backends.
This allows the inference to be done for DAGISelEmitter so that it
gets accurate mayLoad/mayStore/isSimpleLoad flags. 
This brings MemOperand functionality back to where it was before
48329. However, it doesn't solve the problem of anonymous patterns
which expand to code that does loads or stores.
llvm-svn: 49123
 | 
| | 
| 
| 
|  | 
llvm-svn: 45419
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 36486
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
|  | 
Convert signed integer types to signless.
llvm-svn: 32786
 | 
| | 
| 
| 
|  | 
llvm-svn: 27197
 | 
| | 
| 
| 
|  | 
llvm-svn: 27196
 | 
| | 
| 
| 
|  | 
llvm-svn: 27188
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
the CodeGen* implementations.
Parse the MVT::ValueType for each operand of the intrinsics.
llvm-svn: 27075
 | 
| | 
| 
| 
|  | 
llvm-svn: 26770
 | 
| | 
| 
| 
|  | 
llvm-svn: 26736
 | 
| | 
| 
| 
|  | 
llvm-svn: 26735
 | 
| | 
| 
| 
| 
| 
|  | 
autogenerate an intrinsic verifier
llvm-svn: 26666
 | 
| | 
| 
| 
|  | 
llvm-svn: 26499
 | 
|   
  
  
   | 
llvm-svn: 26495
 |