| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
function parameters.
llvm-svn: 44452
|
| |
|
|
|
|
|
|
|
|
|
|
| |
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
|
| |
|
|
|
|
|
|
|
| |
trivial difference in function attributes, allow calls to it to
be converted to direct calls. Based on a patch by Török Edwin.
While there, move the various lists of mutually incompatible
parameters etc out of the verifier and into ParameterAttributes.h.
llvm-svn: 44315
|
| |
|
|
|
|
|
| |
and the 'pure' parameter attribute to 'readonly'.
Names suggested by DannyB.
llvm-svn: 44273
|
| |
|
|
| |
llvm-svn: 44204
|
| |
|
|
| |
llvm-svn: 44139
|
| |
|
|
| |
llvm-svn: 44116
|
| |
|
|
| |
llvm-svn: 44109
|
| |
|
|
|
|
|
|
|
|
| |
doing something - this needs to work for release builds
too. I chose to just abort rather than following the
fancy logic of abortIfBroken, because (1) it is a pain
to do otherwise, and (2) nothing is going to work if the
module is this broken.
llvm-svn: 43611
|
| |
|
|
|
|
| |
a command line optn.
llvm-svn: 43603
|
| |
|
|
| |
llvm-svn: 43601
|
| |
|
|
|
|
| |
so that we don't segfault when verifying invalid code.
llvm-svn: 43578
|
| |
|
|
|
|
| |
now. It conflicts with clang's -pedantic flag.
llvm-svn: 43431
|
| |
|
|
|
|
| |
to other reasons code
llvm-svn: 43424
|
| |
|
|
|
|
|
| |
can be resolved to a function. This is required
for codegen and used by instcombine.
llvm-svn: 42469
|
| |
|
|
| |
llvm-svn: 42140
|
| |
|
|
| |
llvm-svn: 42087
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM now enforces the following prototypes for the write barriers:
<ty>* @llvm.gcread(<ty2>*, <ty>**)
void @llvm.gcwrite(<ty>*, <ty2>*, <ty>**)
And for @llvm.gcroot, the first stack slot is verified to be an alloca or a
bitcast of an alloca.
Fixes test/CodeGen/Generic/GC/lower_gcroot.ll, which violated these.
llvm-svn: 42051
|
| |
|
|
|
|
| |
GLIBCXX_DEBUG issues.
llvm-svn: 41697
|
| |
|
|
| |
llvm-svn: 41165
|
| |
|
|
|
|
| |
what they're supposed to be before using them.
llvm-svn: 41130
|
| |
|
|
| |
llvm-svn: 41128
|
| |
|
|
| |
llvm-svn: 40854
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
permitted on function results. So, revert the last patch to make it illegal.
llvm-svn: 40632
|
| |
|
|
|
|
|
| |
front end converts regparm attribute on the gcc function into InReg attribute
on the llvm function. This fixes test/CFrontend/2002-07-30-SubrefSetAssertion.c
llvm-svn: 40618
|
| |
|
|
|
|
| |
with StructReturn and ByVal, so make it so.
llvm-svn: 40554
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Verifier::visitFunction is suffering a combinatorial
explosion due to the number of mutually incompatible
attributes. This patch tidies the whole thing up
using attribute masks. While there I fixed some
small bugs: (1) the ByVal attribute tests cast a
type to a pointer type, which can fail. Yes, the
fact it is of a pointer type is checked before,
but a failing check does not cause the program
to exit, it continues on outputting further errors;
(2) Nothing was checking that an sret attribute is
on the first parameter; (3) nothing was checking that
a function for which isStructReturn() is true has a
parameter with the sret attribute and vice-versa (I
don't think it is possible for this to go wrong, but
it seems right to check it).
llvm-svn: 40553
|
| |
|
|
|
|
| |
still under discussion.
llvm-svn: 40549
|
| |
|
|
| |
llvm-svn: 40464
|
| |
|
|
|
|
| |
2. Fold an if statement into the Assert1 macro call.
llvm-svn: 40455
|
| |
|
|
|
|
|
|
| |
to use sret or inreg on the function. It is equally illegal to use noreturn
or nounwind on a parameter; they only go with the function. This patch
enforces these rules.
llvm-svn: 40453
|
| |
|
|
| |
llvm-svn: 39971
|
| |
|
|
| |
llvm-svn: 39921
|
| |
|
|
| |
llvm-svn: 38506
|
| |
|
|
| |
llvm-svn: 37940
|
| |
|
|
| |
llvm-svn: 37538
|
| |
|
|
|
|
| |
correct type of parameters.
llvm-svn: 37486
|
| |
|
|
| |
llvm-svn: 36662
|
| |
|
|
|
|
|
| |
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
| |
|
|
| |
llvm-svn: 36632
|
| |
|
|
| |
llvm-svn: 36564
|
| |
|
|
| |
llvm-svn: 36540
|
| |
|
|
|
|
| |
bitcasts of them.
llvm-svn: 36537
|
| |
|
|
|
|
| |
will follow.
llvm-svn: 36435
|
| |
|
|
|
|
| |
way that the "Mod" ivar was not getting set.
llvm-svn: 36291
|
| |
|
|
| |
llvm-svn: 36284
|
| |
|
|
| |
llvm-svn: 36197
|
| |
|
|
|
|
| |
Implement the "part_set" intrinsic.
llvm-svn: 35938
|
| |
|
|
| |
llvm-svn: 35857
|