| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
blob of tblgen
generated code (for Intrinsic::getType) into a table. This handles common cases right now,
but I plan to extend it to handle all cases and merge in type verification logic as well
in follow-on patches.
llvm-svn: 156905
|
| |
|
|
| |
llvm-svn: 156902
|
| |
|
|
|
|
| |
be used by clang-tblgen.
llvm-svn: 156000
|
| |
|
|
|
|
| |
doing attribute table lookup. Also fix attribute table lookup to handle 'invalid' intrinsic correctly. Fixes PR12542
llvm-svn: 154658
|
| |
|
|
|
|
| |
was the c backend.
llvm-svn: 153432
|
| |
|
|
| |
llvm-svn: 151792
|
| |
|
|
|
|
| |
Shrinks BasicAliasAnalysis.o from 106k to 56k on i386.
llvm-svn: 151781
|
| |
|
|
|
|
| |
suggested in PR11951.
llvm-svn: 151622
|
| |
|
|
| |
llvm-svn: 149814
|
| |
|
|
| |
llvm-svn: 146927
|
| |
|
|
|
|
| |
This is the first step towards splitting LLVM and Clang's tblgen executables.
llvm-svn: 140951
|
| |
|
|
| |
llvm-svn: 135154
|
| |
|
|
|
|
|
|
| |
making usage
much cleaner.
llvm-svn: 133364
|
| |
|
|
|
|
|
|
|
| |
switch. With this newfound organization, teach tblgen how not to give
all intrinsics the 'nounwind' attribute. Introduce a new intrinsic,
llvm.eh.resume, which does not have this attribute. Documentation and uses
to follow.
llvm-svn: 132252
|
| |
|
|
|
|
| |
their comments.
llvm-svn: 118696
|
| |
|
|
| |
llvm-svn: 118622
|
| |
|
|
| |
llvm-svn: 114750
|
| |
|
|
|
|
| |
This may produce warnings on MSVS, but it's better than failures.
llvm-svn: 113834
|
| |
|
|
| |
llvm-svn: 113671
|
| |
|
|
|
|
| |
StringMatcher instead of a linear sequence of memcmps.
llvm-svn: 113145
|
| |
|
|
|
|
| |
copy of a close relative of it.
llvm-svn: 113142
|
| |
|
|
|
|
| |
comparing the "llvm." prefix in the memcmp, and not storing it in the string literal.
llvm-svn: 113136
|
| |
|
|
|
|
| |
to IntrReadWriteArgMem, as it's for reading as well as writing.
llvm-svn: 110395
|
| |
|
|
| |
llvm-svn: 103457
|
| |
|
|
|
|
|
| |
instead of as a single element list with VoidTy. Now with a fix
for the verifier.
llvm-svn: 99206
|
| |
|
|
| |
llvm-svn: 99011
|
| |
|
|
|
|
| |
instead of as a single element list with VoidTy.
llvm-svn: 99009
|
| |
|
|
|
|
|
|
|
|
| |
memcpy, memset and other intrinsics that only access their arguments
to be readnone if the intrinsic's arguments all point to local memory.
This improves the testcase in the README to readonly, but it could in
theory be made readnone, however this would involve more sophisticated
analysis that looks through the memcpy.
llvm-svn: 92829
|
| |
|
|
| |
llvm-svn: 78948
|
| |
|
|
|
|
|
|
| |
while
the latter is capable of representing either a primitive or an extended type.
llvm-svn: 78713
|
| |
|
|
|
|
| |
arguments that are vectors of any size and element type.
llvm-svn: 78631
|
| |
|
|
|
|
| |
own struct type.
llvm-svn: 78610
|
| |
|
|
|
|
| |
contexts through a number of APIs.
llvm-svn: 78258
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 74882
|
| |
|
|
|
|
|
|
| |
- Sorry, I can't help myself.
- No intended functionality change.
llvm-svn: 74742
|
| |
|
|
|
|
|
|
| |
arguments/elements
to not have to create a temporary vector (in the API at least). Patch by Jay Foad!
llvm-svn: 74584
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 67758
|
| |
|
|
|
|
| |
or target) can be overloaded or not.
llvm-svn: 65404
|
| |
|
|
|
|
| |
intrinsics to any IntrWriteArgMem intrinsics.
llvm-svn: 64551
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
| |
llvm.memcpy/memset/memmove. This allows removal of some
hackish code from basicaa.
llvm-svn: 62071
|
| |
|
|
|
|
| |
change.
llvm-svn: 62067
|
| |
|
|
|
|
| |
not a random piece of it. No functionality change.
llvm-svn: 62066
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 59242
|
| |
|
|
| |
llvm-svn: 59241
|