| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
For consistency with normal instructions and clarity when reading IR,
it's best to print the %0, %1, ... names of function arguments in
definitions.
Also modifies the parser to accept IR in that form for obvious reasons.
llvm-svn: 367755
|
|
|
|
|
|
|
|
|
|
|
| |
LLVM IR recently added a Type parameter to the byval Attribute, so that
when pointers become opaque and no longer have an element type the
information will still be present in IR.
For now the Type parameter is optional (which is why Clang didn't need
this change at the time), but it will become mandatory soon.
llvm-svn: 362652
|
|
|
|
|
|
| |
tests fail.
llvm-svn: 188447
|
|
|
|
| |
llvm-svn: 175253
|
|
|
|
|
|
|
| |
This update coincides with r174110. That change ordered the attributes
alphabetically.
llvm-svn: 174111
|
|
|
|
| |
llvm-svn: 173762
|
|
|
|
|
|
| |
type for a function returning a struct containing only a pointer. Handle the edge case of a struct containing only a float or double plus some dead padding instead of asserting.
llvm-svn: 144960
|
|
|
|
|
|
|
|
|
|
| |
emit call results into potentially aliased slots. This allows us
to properly mark indirect return slots as noalias, at the cost
of requiring an extra memcpy when assigning an aggregate call
result into a l-value. It also brings us into compliance with
the x86-64 ABI.
llvm-svn: 138599
|
|
|
|
| |
llvm-svn: 134831
|
|
|
|
|
|
|
| |
code generator will do it. With this patch, clang compiles the example
in PR9794 to not have an alloca temporary.
llvm-svn: 131881
|
|
|
|
|
|
|
|
|
|
| |
pointers. I find the resulting code to be substantially cleaner, and it
makes it very easy to use the same APIs for data member pointers (which I have
conscientiously avoided here), and it avoids a plethora of potential
inefficiencies due to excessive memory copying, but we'll have to see if it
actually works.
llvm-svn: 111776
|
|
|
|
|
|
|
|
| |
- Check bases as part of isEmptyRecord().
- C++ record fields are never empty in the Itanium ABI.
llvm-svn: 103944
|
|
|
|
| |
llvm-svn: 103842
|
|
|
|
| |
llvm-svn: 103761
|
|
|
|
|
|
| |
- Fixes PR7098.
llvm-svn: 103514
|
|
|
|
|
|
|
|
|
| |
function attributes like byval get applied to the function
definition. This fixes PR7058 and makes i386 llvm/clang bootstrap
pass all the same tests as x86-64 bootstrap for me (the llvmc
tests still fail in both).
llvm-svn: 103131
|
|
|
|
|
|
|
|
|
| |
This mirror's Dan's patch for llvm-gcc in r97989, and
fixes the miscompilation in PR6525. There is some contention
over whether this is the right thing to do, but it is the
conservative answer and demonstrably fixes a miscompilation.
llvm-svn: 101877
|
|
llvm-svn: 94654
|