| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
|
| |
|
|
| |
llvm-svn: 30660
|
| |
|
|
|
|
| |
Added X86 StdCall & FastCall calling conventions. Codegen will follow.
llvm-svn: 30446
|
| |
|
|
|
|
|
|
|
| |
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374
|
| |
|
|
| |
llvm-svn: 30226
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass:
1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
things using libcodegen and other support).
2. Instead of having each target fully populate the passmgr for file or JIT
output, move all this to common code, and give targets hooks they can
implement.
3. Commonalize the target population stuff between file emission and JIT
emission.
4. All (native code) codegen stuff now happens in a FunctionPassManager, which
paves the way for "fast -O0" stuff in the CFE later, and now LLC could
lazily stream .bc files from disk to use less memory.
5. There are now many fewer #includes and the targets don't depend on the
scalar xforms or libanalysis anymore (but codegen does).
6. Changing common code generator pass ordering stuff no longer requires
touching all targets.
7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
which is now orthogonal to the fact that JIT'ing is being done.
llvm-svn: 30081
|
| |
|
|
|
|
| |
This fixes link errors on programs with these on targets with prefixes.
llvm-svn: 29390
|
| |
|
|
| |
llvm-svn: 28881
|
| |
|
|
|
|
|
| |
when available. This speeds up hexxagon from 18.61s to 16.61s with the CBE on
PPC Mac OS (for reference, LLC is 15.48s and GCC is 23.35s).
llvm-svn: 28697
|
| |
|
|
| |
llvm-svn: 28661
|
| |
|
|
| |
llvm-svn: 28605
|
| |
|
|
|
|
|
|
| |
Minor tweaks in public headers and a few .cpp files so that LLVM can build
successfully with -pedantic and projects using LLVM with -pedantic don't
get warnings from LLVM. There's still more -pedantic warnings to fix.
llvm-svn: 28453
|
| |
|
|
|
|
|
|
| |
argument struct pointer, enabling ABI compatibility for the CBE with
platforms with strange struct-return ABIs. This fixes 252.eon and
CoyoteBench/fftbench on Darwin/X86 among other things.
llvm-svn: 28442
|
| |
|
|
| |
llvm-svn: 27761
|
| |
|
|
| |
llvm-svn: 26990
|
| |
|
|
|
|
| |
Make the CBE and V9 backends create their own, since they're the only ones that use it.
llvm-svn: 26974
|
| |
|
|
| |
llvm-svn: 26737
|
| |
|
|
| |
llvm-svn: 26729
|
| |
|
|
| |
llvm-svn: 26621
|
| |
|
|
|
|
|
|
| |
1. Don't emit debug info, or other llvm.metadata to the .cbe.c file.
2. Mark static ctors/dtors as such, so that bugpoint works on C++ code
compiled with the new CFE.
llvm-svn: 26602
|
| |
|
|
| |
llvm-svn: 26150
|
| |
|
|
|
|
| |
still not quite right and will be fixed later.
llvm-svn: 25488
|
| |
|
|
|
|
| |
PackedTypes as a side-effect.
llvm-svn: 25485
|
| |
|
|
| |
llvm-svn: 25028
|
| |
|
|
| |
llvm-svn: 24292
|
| |
|
|
| |
llvm-svn: 24279
|
| |
|
|
|
|
| |
quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build.
llvm-svn: 24233
|
| |
|
|
|
|
| |
This fixes PR641
llvm-svn: 24154
|
| |
|
|
| |
llvm-svn: 23475
|
| |
|
|
|
|
| |
x%y for 'rem' on fp values.
llvm-svn: 22984
|
| |
|
|
| |
llvm-svn: 22838
|
| |
|
|
|
|
|
|
| |
Add parenthesis around the value being negated; that way, if the value
begins with a minus sign (e.g. negative integer), we won't generate a
C predecrement operator by mistake.
llvm-svn: 22437
|
| |
|
|
|
|
| |
interface.
llvm-svn: 22282
|
| |
|
|
|
|
| |
See last commit for LangRef, this implements it on all targets.
llvm-svn: 22273
|
| |
|
|
| |
llvm-svn: 22254
|
| |
|
|
| |
llvm-svn: 21740
|
| |
|
|
| |
llvm-svn: 21739
|
| |
|
|
| |
llvm-svn: 21379
|
| |
|
|
| |
llvm-svn: 20689
|
| |
|
|
| |
llvm-svn: 20673
|
| |
|
|
| |
llvm-svn: 20599
|
| |
|
|
| |
llvm-svn: 20598
|
| |
|
|
|
|
|
|
| |
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
| |
|
|
|
|
|
| |
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
|