|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 62596 | 
| | 
| 
| 
| | llvm-svn: 62594 | 
| | 
| 
| 
| 
| 
| 
| 
| | fully implemented yet and not used.  This is
mainly to clarify that APFloat::mod implements
C fmod, not remainder.
llvm-svn: 62593 | 
| | 
| 
| 
| 
| 
| | Patrick Boettcher!
llvm-svn: 62592 | 
| | 
| 
| 
| | llvm-svn: 62590 | 
| | 
| 
| 
| | llvm-svn: 62589 | 
| | 
| 
| 
| | llvm-svn: 62573 | 
| | 
| 
| 
| | llvm-svn: 62571 | 
| | 
| 
| 
| | llvm-svn: 62561 | 
| | 
| 
| 
| | llvm-svn: 62558 | 
| | 
| 
| 
| 
| 
| 
| | as its comment says, even in the case where it will be generating
extending loads. This fixes PR3216.
llvm-svn: 62557 | 
| | 
| 
| 
| 
| 
| | types. After all there was a reason why std::map was used initially!
llvm-svn: 62555 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | This requires a rebuild of 'configure' itself. I will be committing that next, but
built with the wrong version of autoconf. Somebody who has the right one, please update
it.
As a side-note, because of the way autoconf works, all built tools will link against
libffi, not just lli. If you know how to fix this, please let me know ...
llvm-svn: 62553 | 
| | 
| 
| 
| | llvm-svn: 62547 | 
| | 
| 
| 
| | llvm-svn: 62546 | 
| | 
| 
| 
| | llvm-svn: 62545 | 
| | 
| 
| 
| 
| 
| | trapping instruction be executed unconditionally.
llvm-svn: 62541 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | SDNode subclasses to keep state that requires non-trivial
destructors, however it was already effectively impossible,
since the destructor isn't actually ever called. There currently
aren't any SDNode subclasses affected by this, and in general
it's desireable to keep SDNode objects light-weight.
This eliminates the last virtual member function in the SDNode
class, so it eliminates the need for a vtable pointer, making
SDNode smaller.
llvm-svn: 62539 | 
| | 
| 
| 
| | llvm-svn: 62535 | 
| | 
| 
| 
| 
| 
| 
| | langref.  Constant fold them to undef instead of trying to preserve
the trap.  This fixes PR3354.
llvm-svn: 62534 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | uses are added to the From node while it is processing From's
use list, because of automatic local CSE. The fix is to avoid
visiting any new uses.
Fix a few places in the DAGCombiner that assumed that after
a RAUW call, the From node has no users and may be deleted.
This fixes PR3018.
llvm-svn: 62533 | 
| | 
| 
| 
| | llvm-svn: 62529 | 
| | 
| 
| 
| | llvm-svn: 62528 | 
| | 
| 
| 
| | llvm-svn: 62526 | 
| | 
| 
| 
| 
| 
| | instead of sign extending the low part (in AX/EAX/RAX) into it.
llvm-svn: 62519 | 
| | 
| 
| 
| | llvm-svn: 62518 | 
| | 
| 
| 
| | llvm-svn: 62516 | 
| | 
| 
| 
| | llvm-svn: 62512 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | llvm-gcc. Most likely, it's miscompiling one of the "gen*" programs:
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.6.0/bin/ -c -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -mdynamic-no-pic -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/build -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include  -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS   -o build/gencondmd.o build/gencondmd.c
../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token
../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: excess elements in struct initializer
../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: (near initialization for 'insn_conditions[4]')
../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token
../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected ',' or ';' before ')' token
../../llvm-gcc.src/gcc/config/i386/mmx.md:927: error: expected identifier or '(' before ',' token
../../llvm-gcc.src/gcc/config/i386/sse.md:3458: error: expected identifier or '(' before ',' token
...
llvm-svn: 62506 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | uses so we should make it the second source operand of ISD::OR so 2-address pass won't have to be smart about commuting.
%reg1024<def> = MOVSDrm %reg0, 1, %reg0, <cp#0>, Mem:LD(8,8) [ConstantPool + 0]
%reg1025<def> = MOVSD2PDrr %reg1024
%reg1026<def> = MOVDI2PDIrm <fi#-1>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack-1 + 0]
%reg1027<def> = ORPSrr %reg1025<kill>, %reg1026<kill>
%reg1028<def> = MOVPD2SDrr %reg1027<kill>
%reg1029<def> = SUBSDrr %reg1028<kill>, %reg1024<kill>
%reg1030<def> = CVTSD2SSrr %reg1029<kill>
MOVSSmr <fi#0>, 1, %reg0, 0, %reg1030<kill>, Mem:ST(4,4) [FixedStack0 + 0]
%reg1031<def> = LD_Fp32m80 <fi#0>, 1, %reg0, 0, Mem:LD(4,16) [FixedStack0 + 0]
RET %reg1031<kill>, %ST0<imp-use,kill>
The reason 2-addr pass isn't smart enough to commute the ORPSrr is because it can't look pass the MOVSD2PDrr instruction.
llvm-svn: 62505 | 
| | 
| 
| 
| 
| 
| | optimize it to a SINT_TO_FP when the sign bit is known zero. X86 isel should perform the optimization itself.
llvm-svn: 62504 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | we assumed a CFG structure that would be valid when all code in 
the function is reachable, but not all code is necessarily 
reachable.  Do a simple, but horrible, CFG walk to check for this
case.
llvm-svn: 62487 | 
| | 
| 
| 
| | llvm-svn: 62477 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | because of dead code, a phi could use the speculated instruction
that was not in "BB2".  Make this check explicit and tighten up 
some other corners.  This fixes PR3292.  No testcase becauase this
depends entirely on visitation order of blocks and requires a 
sequence of 8 passes to repro.
llvm-svn: 62476 | 
| | 
| 
| 
| 
| 
| | check.  No functionality change.
llvm-svn: 62474 | 
| | 
| 
| 
| | llvm-svn: 62470 | 
| | 
| 
| 
| | llvm-svn: 62467 | 
| | 
| 
| 
| | llvm-svn: 62462 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | doing very similar pointer capture analysis.
Factor out the common logic.  The new version
is from FunctionAttrs since it does a better
job than the version in BasicAliasAnalysis
llvm-svn: 62461 | 
| | 
| 
| 
| | llvm-svn: 62459 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| | llvm-svn: 62436 | 
| | 
| 
| 
| | llvm-svn: 62430 | 
| | 
| 
| 
| | llvm-svn: 62423 | 
| | 
| 
| 
| | llvm-svn: 62421 | 
| | 
| 
| 
| | llvm-svn: 62415 | 
| | 
| 
| 
| 
| 
| | folded in 64-bit mode.
llvm-svn: 62413 | 
| | 
| 
| 
| | llvm-svn: 62412 | 
| | 
| 
| 
| | llvm-svn: 62410 | 
| | 
| 
| 
| | llvm-svn: 62406 |