| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
struct types. This fixes Regression/CodeGen/CBackend/2005-03-08-RecursiveTypeCrash.ll,
a crash on Java output that Alkis reported.
llvm-svn: 20519
|
| |
|
|
| |
llvm-svn: 20515
|
| |
|
|
| |
llvm-svn: 20471
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
double test(double l1_X) {
return (-l1_X);
}
instead of like this:
double test(double l1_X) {
return (-0x0p+0 - l1_X);
}
llvm-svn: 20423
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ltmp_0_7 = malloc(((unsigned )(&(((signed char (*)[784])/*NULL*/0)[1u]))));
Instead, just emit the literal constant, like this:
ltmp_0_7 = malloc(784u);
This works around a bug in ICC 8.1 compiling the CBE generated code. :-(
llvm-svn: 20415
|
| |
|
|
| |
llvm-svn: 20380
|
| |
|
|
|
|
| |
Justin Wick!
llvm-svn: 20378
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
void %test(int** %P) {
%A = volatile load int** %P
ret void
}
void %test2(int*** %Q) {
%P = load int*** %Q
volatile store int** %P, int*** %Q
ret void
}
instead of emitting:
void test(int **l1_P) {
int *l2_A;
l2_A = (int **((volatile int **)l1_P));
return;
}
void test2(int ***l2_Q) {
int **l1_P;
l1_P = *l2_Q;
*((volatile int ***)l2_Q) = l1_P;
return;
}
... which is loading/storing volatile pointers, not through volatile pointers,
emit this (which is right):
void test(int **l1_P) {
int *l3_A;
l3_A = *((int * volatile*)l1_P);
return;
}
void test2(int ***l2_Q) {
int **l1_P;
l1_P = *l2_Q;
*((int ** volatile*)l2_Q) = l1_P;
return;
}
llvm-svn: 20191
|
| |
|
|
| |
llvm-svn: 20179
|
| |
|
|
|
|
| |
Volatile loads and stores need to emit volatile pointer operations in C.
llvm-svn: 20177
|
| |
|
|
| |
llvm-svn: 19954
|
| |
|
|
| |
llvm-svn: 19776
|
| |
|
|
| |
llvm-svn: 19303
|
| |
|
|
|
|
| |
Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll
llvm-svn: 19176
|
| |
|
|
| |
llvm-svn: 18974
|
| |
|
|
|
|
| |
to 64-bit precision, not 80 bits.
llvm-svn: 18915
|
| |
|
|
| |
llvm-svn: 18745
|
| |
|
|
|
|
|
|
|
| |
intrinsic lowering ever introduces constants.
Rename local symbols before printing function bodies, fixing 255.vortex
with the CBE!!!
llvm-svn: 18534
|
| |
|
|
|
|
| |
PR472
llvm-svn: 18459
|
| |
|
|
|
|
|
| |
Including alloca.h on Solaris brings in the prototype of strftime(), which
breaks compilation of CBE generated code.
llvm-svn: 18435
|
| |
|
|
| |
llvm-svn: 18398
|
| |
|
|
|
|
| |
__builtin_alloca.
llvm-svn: 18397
|
| |
|
|
|
|
| |
CBackend/2004-11-13-FunctionPointerCast.llx
llvm-svn: 17710
|
| |
|
|
| |
llvm-svn: 17216
|
| |
|
|
|
|
| |
destination basic block are copied.
llvm-svn: 17212
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of unconditionally copying all phi node values into temporaries for
all successor blocks, generate code that will determine what successor
block will be called and then copy only those phi node values needed by
the successor block.
This seems to cut down namd execution time from being 8% higher than GCC to
4% higher than GCC.
llvm-svn: 17144
|
| |
|
|
|
|
| |
where C requires semicolons in some cases to indicate null statements.
llvm-svn: 17107
|
| |
|
|
|
|
|
|
| |
0->field, which is illegal. Now we print ((foo*)0)->field.
The second hunk is an optimization to not print undefined phi values.
llvm-svn: 17094
|
| |
|
|
| |
llvm-svn: 17048
|
| |
|
|
| |
llvm-svn: 16917
|
| |
|
|
|
|
| |
Thanks to Jeff Cohen for pointing out my goof.
llvm-svn: 16762
|
| |
|
|
| |
llvm-svn: 16756
|
| |
|
|
|
|
| |
compile under windows. Patch contributed by Paolo Invernizzi!
llvm-svn: 16534
|
| |
|
|
|
|
|
| |
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
|
| |
|
|
|
|
|
|
| |
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
|
| |
|
|
| |
llvm-svn: 16051
|
| |
|
|
| |
llvm-svn: 16050
|
| |
|
|
|
|
|
|
|
| |
Note that this indicates a serious problem with the way we are emitting varargs,
but this should not be properly fixed until after 1.3.
This patch SHOULD go into 1.3.
llvm-svn: 15602
|
| |
|
|
|
|
|
|
|
|
|
| |
results in a call to the
glibc 'nan' function because the initializer is not a string. This breaks when used in a global
initializer. Try compiling this testcase for example:
%X = global float <some nan value>
llvm-svn: 15223
|
| |
|
|
|
|
|
| |
printf("%a") support.
Patch contributed by Bill Wendling.
llvm-svn: 15056
|
| |
|
|
|
|
| |
- Replace ConstantPointerRef usage with GlobalValue usage
llvm-svn: 14953
|
| |
|
|
| |
llvm-svn: 14841
|
| |
|
|
| |
llvm-svn: 14781
|
| |
|
|
| |
llvm-svn: 14755
|
| |
|
|
| |
llvm-svn: 14747
|
| |
|
|
| |
llvm-svn: 14745
|
| |
|
|
| |
llvm-svn: 14622
|
| |
|
|
| |
llvm-svn: 14266
|
| |
|
|
| |
llvm-svn: 14201
|
| |
|
|
|
|
|
|
|
| |
that we REALLY don't want in the CBE code.
With this fix, the CBE passes all of the MultiSource tests on cygwin that
it does on linux. Yaay!
llvm-svn: 13975
|