| 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
- Removed warning about clobbered parameter in Bytecode/Reader
llvm-svn: 30026
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Final commit for this bug. This removes the last EH holdouts in LLVM
and turns off exception support by using the -fno-exceptions option. This
leads to the following reduction in library and executable sizes:
DEBUG BUILD RELEASE BUILD
before after delta before after delta
lib 162,328K 157,616K 4,712 17,864K 16,416K 1,448K
bin 571,444K 557,156K 14,288 63,296K 56,996K 6,300K
Debug Improvement: 19,000K (2.59%)
Release Improvement: 7,748K (9.55%)
llvm-svn: 29882
|
|
|
|
|
|
|
|
| |
Make the Bytecode Reader use setjmp/longjump instead of exceptions to handle
errors. The alternative was even uglier than setjmp/longjump as it would
impact the interface and workings of nearly every function in the reader.
llvm-svn: 29819
|
|
|
|
|
|
|
|
|
| |
nonccc calls (we were dropping the CC and tail flag). This broke several
FORTRAN programs.
Testcase here: Regression/Assembler/2006-05-26-VarargsCallEncode.ll
llvm-svn: 28501
|
|
|
|
| |
llvm-svn: 27527
|
|
|
|
| |
llvm-svn: 27509
|
|
|
|
|
|
|
|
|
| |
.bc file if they are supposed to be implicit. This is cool, except that it
checked *after* constant expr folding: improving constant expr folding could
cause the .bc reader to assert out on old .bc files. Move the check so that
it checks all simple constants, but no constantexprs.
llvm-svn: 27480
|
|
|
|
| |
llvm-svn: 26729
|
|
|
|
| |
llvm-svn: 26475
|
|
|
|
|
|
|
| |
bytecode reading. This code is crufty, the result of much hacking to get things
working correctly. Cleanup patches will follow.
llvm-svn: 25682
|
|
|
|
| |
llvm-svn: 25621
|
|
|
|
| |
llvm-svn: 25605
|
|
|
|
| |
llvm-svn: 25594
|
|
|
|
| |
llvm-svn: 25571
|
|
|
|
| |
llvm-svn: 25564
|
|
|
|
| |
llvm-svn: 25541
|
|
|
|
|
|
|
| |
Don't try to be smart about fixing intrinsic functions when they're read
in, just fix them after the module is read when all names are resolved.
llvm-svn: 25539
|
|
|
|
|
|
|
|
|
| |
boolean flag if we read a function prototype that needs upgrading.
2. Don't upgrade the CallInst instruction until after its been inserted
into the basic block, and only if we know that we have seen an
upgraded intrinsic function.
llvm-svn: 25448
|
|
|
|
| |
llvm-svn: 25434
|
|
|
|
| |
llvm-svn: 25404
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.
llvm-svn: 25366
|
|
|
|
| |
llvm-svn: 25178
|
|
|
|
| |
llvm-svn: 24329
|
|
|
|
| |
llvm-svn: 24321
|
|
|
|
| |
llvm-svn: 24223
|
|
|
|
| |
llvm-svn: 24219
|
|
|
|
| |
llvm-svn: 24218
|
|
|
|
| |
llvm-svn: 24216
|
|
|
|
| |
llvm-svn: 24203
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointer marking the end of the list, the zero *must* be cast to the pointer
type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.
The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.
llvm-svn: 23888
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lookups instead of linear time lookups. This speeds up bc parsing of a
large file from
137.834u 118.256s 4:27.96
to
132.611u 114.436s 4:08.53
with a release build.
llvm-svn: 23611
|
|
|
|
| |
llvm-svn: 22838
|
|
|
|
| |
llvm-svn: 22523
|
|
|
|
| |
llvm-svn: 22254
|
|
|
|
| |
llvm-svn: 21752
|
|
|
|
| |
llvm-svn: 21751
|
|
|
|
|
|
| |
still to come.
llvm-svn: 21749
|
|
|
|
| |
llvm-svn: 21727
|
|
|
|
| |
llvm-svn: 21704
|
|
|
|
| |
llvm-svn: 21700
|
|
|
|
| |
llvm-svn: 21417
|
|
|
|
|
|
|
|
| |
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
|
|
|
| |
llvm-svn: 20463
|
|
|
|
| |
llvm-svn: 20297
|
|
|
|
|
|
|
|
|
| |
Otherwise, clients who call ParseAllFunctionBodies will attempt to parse
the function bodies twice, which is (uh) very very bad (tm).
This fixes gccld on python.
llvm-svn: 20152
|
|
|
|
|
|
|
| |
LLVM make the very reasonable assumption that constant expressions will
have at least one operand! :)
llvm-svn: 19943
|
|
|
|
| |
llvm-svn: 19894
|
|
|
|
| |
llvm-svn: 19056
|