| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
do anything than return "I don't know" at the moment.
llvm-svn: 85189
|
|
|
|
| |
llvm-svn: 83489
|
|
|
|
|
|
|
| |
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.
llvm-svn: 83379
|
|
|
|
|
|
|
|
| |
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.
llvm-svn: 83297
|
|
|
|
|
|
|
| |
calls, since direct calls don't always reflect the attributes of their
callees.
llvm-svn: 82867
|
|
|
|
| |
llvm-svn: 82823
|
|
|
|
|
|
| |
typically faster then doing a general pow.
llvm-svn: 82819
|
|
|
|
|
|
|
|
| |
calls as to MallocInst.
Reviewed by Dan Gohman.
llvm-svn: 82300
|
|
|
|
|
|
|
|
|
|
| |
simplifylibcalls optimization is thus valid for C++ but not C.
It's not important enough to worry about for C++ apps, so just
remove it.
rdar://7191924
llvm-svn: 80887
|
|
|
|
| |
llvm-svn: 80766
|
|
|
|
|
|
| |
before performing optimizations based on constant string values.
llvm-svn: 79384
|
|
|
|
| |
llvm-svn: 79298
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
|
|
|
|
| |
change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
|
|
|
| |
llvm-svn: 77516
|
|
|
|
|
|
| |
- Call RAUW to delete all instructions (this is a patch from Nick Lewycky).
llvm-svn: 77512
|
|
|
|
| |
llvm-svn: 77494
|
|
|
|
|
|
| |
into a new BB that has no predecessors.
llvm-svn: 77433
|
|
|
|
| |
llvm-svn: 77347
|
|
|
|
| |
llvm-svn: 77247
|
|
|
|
| |
llvm-svn: 77148
|
|
|
|
| |
llvm-svn: 77145
|
|
|
|
|
|
| |
Also, change MDString to use a StringRef.
llvm-svn: 77098
|
|
|
|
|
|
| |
thanks to contexts-on-types. More to come.
llvm-svn: 77011
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Yay for '-'s and simplifications!
- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.
- NIFC.
llvm-svn: 76888
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
|
|
| |
where int is 32 bits.
llvm-svn: 76293
|
|
|
|
|
|
|
|
| |
number of issues in
our current context-passing stuff, which is also fixed here
llvm-svn: 76089
|
|
|
|
| |
llvm-svn: 75497
|
|
|
|
| |
llvm-svn: 75040
|
|
|
|
|
|
| |
module is required.
llvm-svn: 75025
|
|
|
|
| |
llvm-svn: 74985
|
|
|
|
| |
llvm-svn: 74781
|
|
|
|
|
|
|
|
| |
strcmp -> memcmp when the lengths of the strings are unknown.
Patch by Nick Lewycky!
llvm-svn: 73751
|
|
|
|
| |
llvm-svn: 73715
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
|
|
|
|
|
|
| |
Benjamin Kramer!
llvm-svn: 72625
|
|
|
|
| |
llvm-svn: 71644
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strncat :(
strncat(foo, "bar", 99)
would be optimized to
memcpy(foo+strlen(foo), "bar", 100, 1)
instead of
memcpy(foo+strlen(foo), "bar", 4, 1)"
Patch by Benjamin Kramer!
llvm-svn: 68905
|
|
|
|
|
|
| |
code. Patch by Benjamin Kramer!
llvm-svn: 68885
|
|
|
|
|
|
|
|
|
| |
instead of the place where it started to perform the string copy.
- PR3661
- Patch by Benjamin Kramer!
llvm-svn: 68443
|
|
|
|
| |
llvm-svn: 66867
|
|
|
|
| |
llvm-svn: 66866
|
|
|
|
|
|
|
|
|
|
|
| |
when I was looking at functions used by python.
Highlights include, better largefile support (64-bit file sizes on 32-bit
systems), fputs string is nocapture, popen/pclose added (popen being noalias
return), modf and frexp and friends. Also added some missing 'break' statements
and combined identical sections.
llvm-svn: 64615
|
|
|
|
| |
llvm-svn: 64460
|
|
|
|
|
|
| |
mark the first argument nocapture if endptr=NULL for each particular call.
llvm-svn: 64453
|
|
|
|
| |
llvm-svn: 64352
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
putc, puts, perror, vscanf and vsscanf from getting annotations.
Add annotations for eight printf functions, memalign, pread and pwrite.
On Linux, llvm-gcc sometimes renames strdup, getc, putc, strtok_r, scanf and
sscanf. Match the alternate function names.
Fix a crash annotating opendir.
Don't mark fsetpos's second parameter as nocapture. It's supposed to be
captured.
Do mark fopen's path and mode strings as nocapture. Mark ferror as readonly,
but not fileno which may set errno.
llvm-svn: 62456
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finalization occurs after all the FunctionPasses in the group have run, which
is clearly not what we want.
This also means that we have to make sure that we apply the right param
attributes when creating a new function.
Also, add a missed optimization: strdup and strndup. NoCapture and
NoAlias return!
llvm-svn: 61658
|
|
|
|
| |
llvm-svn: 61632
|