| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
ability to handle indirect input operands. This fixes PR2407.
llvm-svn: 51952
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and insertvalue and extractvalue instructions.
First-class array values are not trivial because C doesn't
support them. The approach I took here is to wrap all arrays
in structs. Feedback is welcome.
The 2007-01-15-NamedArrayType.ll test needed to be modified
because it has a "not grep" for a string that now exists,
because array types now have associated struct types, and
those struct types have names.
llvm-svn: 51881
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we did not truncate the value down to i1 with (x&1). This caused a problem
when the computation of x was nontrivial, for example, "add i1 1, 1" would
return 2 instead of 0.
This makes the testcase compile into:
...
llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1);
llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...
instead of:
...
llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u));
llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...
This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and
403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull
this into the release branch.
llvm-svn: 51813
|
|
|
|
| |
llvm-svn: 51591
|
|
|
|
|
|
| |
so that gcc doesn't warn about them.
llvm-svn: 51529
|
|
|
|
|
|
| |
This fixes recent CBE regressions.
llvm-svn: 51483
|
|
|
|
|
|
| |
incoming arg.
llvm-svn: 51422
|
|
|
|
|
|
|
| |
get inline asm working as well as it did previously with the CBE
with the new MRV support for inline asm.
llvm-svn: 51420
|
|
|
|
|
|
|
|
|
|
| |
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118
|
|
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
|
|
|
| |
llvm-svn: 50187
|
|
|
|
|
|
| |
it causes compile errors.
llvm-svn: 49122
|
|
|
|
|
|
|
| |
now that llvm-gcc is lowering appropriately-sized struct returns
to i128 on x86-64.
llvm-svn: 49109
|
|
|
|
| |
llvm-svn: 48801
|
|
|
|
|
|
|
| |
marked read-write. Use const so that they can be allocated in a
read-only segment.
llvm-svn: 48800
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. There is now a "PAListPtr" class, which is a smart pointer around
the underlying uniqued parameter attribute list object, and manages
its refcount. It is now impossible to mess up the refcount.
2. PAListPtr is now the main interface to the underlying object, and
the underlying object is now completely opaque.
3. Implementation details like SmallVector and FoldingSet are now no
longer part of the interface.
4. You can create a PAListPtr with an arbitrary sequence of
ParamAttrsWithIndex's, no need to make a SmallVector of a specific
size (you can just use an array or scalar or vector if you wish).
5. All the client code that had to check for a null pointer before
dereferencing the pointer is simplified to just access the
PAListPtr directly.
6. The interfaces for adding attrs to a list and removing them is a
bit simpler.
Phase #2 will rename some stuff (e.g. PAListPtr) and do other less
invasive changes.
llvm-svn: 48289
|
|
|
|
| |
llvm-svn: 47981
|
|
|
|
| |
llvm-svn: 47857
|
|
|
|
| |
llvm-svn: 47825
|
|
|
|
| |
llvm-svn: 47824
|
|
|
|
| |
llvm-svn: 47823
|
|
|
|
|
|
|
|
| |
UnitTests/Vector.
Now they all pass.
llvm-svn: 47820
|
|
|
|
| |
llvm-svn: 47819
|
|
|
|
|
|
|
|
|
|
| |
* Simplify handling of byval, making it easier to understand and more
consistent. This fixes PR2065.
* Clean up and simplify handling of GEPs. I can actually understand it now!
* Implement support for GEP'ing into vectors, this fixes
SingleSource/UnitTests/Vector/build2 among others.
llvm-svn: 47818
|
|
|
|
| |
llvm-svn: 47816
|
|
|
|
| |
llvm-svn: 47815
|
|
|
|
| |
llvm-svn: 47812
|
|
|
|
| |
llvm-svn: 47811
|
|
|
|
| |
llvm-svn: 47810
|
|
|
|
| |
llvm-svn: 47809
|
|
|
|
| |
llvm-svn: 47807
|
|
|
|
|
|
| |
(PR1126)
llvm-svn: 47806
|
|
|
|
| |
llvm-svn: 47805
|
|
|
|
|
|
| |
Use dyn_cast better.
llvm-svn: 47804
|
|
|
|
| |
llvm-svn: 47725
|
|
|
|
|
|
|
| |
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
|
|
|
|
| |
llvm-svn: 47385
|
|
|
|
| |
llvm-svn: 47369
|
|
|
|
| |
llvm-svn: 47337
|
|
|
|
|
|
| |
a noop (which is how it use to be treated). If someone who knows the x86 backend better than me could tell me how to get a lock prefix on an instruction, that would be nice to complete x86 support.
llvm-svn: 47213
|
|
|
|
| |
llvm-svn: 46646
|
|
|
|
| |
llvm-svn: 45911
|
|
|
|
| |
llvm-svn: 45902
|
|
|
|
| |
llvm-svn: 45891
|
|
|
|
| |
llvm-svn: 45864
|
|
|
|
| |
llvm-svn: 45852
|
|
|
|
|
|
|
|
|
| |
up to the various compiler pipelines.
This doesn't actually add support for any GC algorithms, which means it
temporarily breaks a few tests. To be fixed shortly.
llvm-svn: 45669
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 45415
|
|
|
|
| |
llvm-svn: 45300
|