| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This concludes the GetElementPtrInst::Create migration, thus marking the
beginning of the IRBuilder::CreateGEP* migration to come.
llvm-svn: 232280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Now that the DataLayout is a mandatory part of the module, let's start
cleaning the codebase. This patch is a first attempt at doing that.
This patch is not exactly NFC as for instance some places were passing
a nullptr instead of the DataLayout, possibly just because there was a
default value on the DataLayout argument to many functions in the API.
Even though it is not purely NFC, there is no change in the
validation.
I turned as many pointer to DataLayout to references, this helped
figuring out all the places where a nullptr could come up.
I had initially a local version of this patch broken into over 30
independant, commits but some later commit were cleaning the API and
touching part of the code modified in the previous commits, so it
seemed cleaner without the intermediate state.
Test Plan:
Reviewers: echristo
Subscribers: llvm-commits
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 231740
|
|
|
|
| |
llvm-svn: 210442
|
|
|
|
|
|
|
| |
Split from the musttail inliner change. This will be covered by an opt
test when the inliner change lands.
llvm-svn: 208126
|
|
|
|
| |
llvm-svn: 204916
|
|
|
|
| |
llvm-svn: 204915
|
|
|
|
| |
llvm-svn: 204914
|
|
|
|
|
|
| |
The tests are refactored to use the same fixture.
llvm-svn: 204860
|
|
|
|
|
|
| |
Makes sure the Call dies before the Function
llvm-svn: 204856
|
|
|
|
|
|
|
|
|
|
| |
In CallInst, op_end() points at the callee, which we don't want to iterate over
when just iterating over arguments. Now take this into account when returning
a iterator_range from arg_operands. Similar reasoning for InvokeInst.
Also adds a unit test to verify this actually works as expected.
llvm-svn: 204851
|
|
|
|
|
|
| |
Remove the old functions.
llvm-svn: 202636
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
different number of elements.
Bitcasts were passing with vectors of pointers with different number of
elements since the number of elements was checking
SrcTy->getVectorNumElements() == SrcTy->getVectorNumElements() which
isn't helpful. The addrspacecast was also wrong, but that case at least
is caught by the verifier. Refactor bitcast and addrspacecast handling
in castIsValid to be more readable and fix this problem.
llvm-svn: 199821
|
|
|
|
|
|
| |
They are equivalent and the size of 'a' and 's' is unused.
llvm-svn: 197259
|
|
|
|
|
|
| |
Patch by Michele Scandale!
llvm-svn: 194760
|
|
|
|
|
|
|
|
| |
One form would accept a vector of pointers, and the other did not.
Make both accept vectors of pointers, and add an assertion
for the number of elements.
llvm-svn: 187464
|
|
|
|
|
|
|
| |
This avoids constant folding bitcast/ptrtoint/inttoptr combinations
that have illegal bitcasts between differently sized address spaces.
llvm-svn: 187455
|
|
|
|
|
|
| |
Apparently dragonegg uses it.
llvm-svn: 187454
|
|
|
|
| |
llvm-svn: 187448
|
|
|
|
|
|
|
|
| |
It will now only convert the arguments / return value and call
the underlying function if the types are able to be bitcasted.
This avoids using fp<->int conversions that would occur before.
llvm-svn: 187444
|
|
|
|
|
|
| |
Thename says it's an i32*, but it was actually creating another i8*
llvm-svn: 185239
|
|
|
|
|
|
|
| |
reference to a pointer, so that it can handle the case where DataLayout
is not available and behave conservatively.
llvm-svn: 174024
|
|
|
|
| |
llvm-svn: 172614
|
|
library rename.
llvm-svn: 171747
|