| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 77635
|
| |
|
|
| |
llvm-svn: 77152
|
| |
|
|
|
|
|
|
|
|
| |
- Some clients which used DOUT have moved to DEBUG. We are deprecating the
"magic" DOUT behavior which avoided calling printing functions when the
statement was disabled. In addition to being unnecessary magic, it had the
downside of leaving code in -Asserts builds, and of hiding potentially
unnecessary computations.
llvm-svn: 77019
|
| |
|
|
|
|
| |
thanks to contexts-on-types. More to come.
llvm-svn: 77011
|
| |
|
|
| |
llvm-svn: 76702
|
| |
|
|
|
|
|
|
|
|
| |
isSafeToSpeculativelyExecute. The new method is a bit closer to what
the callers actually care about in that it rejects more things callers
don't want. It also adds more precise handling for integer
division, and unifies code for analyzing the legality of a speculative
load.
llvm-svn: 76150
|
| |
|
|
| |
llvm-svn: 75497
|
| |
|
|
|
|
| |
the [I|F]CmpInst constructors. Who knew!?
llvm-svn: 75200
|
| |
|
|
| |
llvm-svn: 74878
|
| |
|
|
|
|
| |
files.
llvm-svn: 74844
|
| |
|
|
| |
llvm-svn: 74807
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when one of them can be converted to a trivial icmp and conditional
branch.
This addresses what is essentially a phase ordering problem.
SimplifyCFG knows how to do this transformation, but it doesn't do so
if the primary block has any instructions in it other than an icmp and
a branch. In the given testcase, the block contains other instructions,
however they are loop-invariant and can be hoisted. SimplifyCFG doesn't
have LoopInfo though, so it can't hoist them. And, it's important that
the blocks be merged before LoopRotation, as it doesn't support
multiple-exit loops.
llvm-svn: 74396
|
| |
|
|
|
|
|
|
| |
problem addressed in 31284, but the patch there only
addressed the case where an invoke is the first thing in
a block.
llvm-svn: 73416
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
adding another copy.
llvm-svn: 71783
|
| |
|
|
| |
llvm-svn: 71717
|
| |
|
|
|
|
|
| |
external. These may have address 0 and are not safe
to execute unconditionally.
llvm-svn: 71688
|
| |
|
|
|
|
| |
separate back() and pop_back() calls.
llvm-svn: 71089
|
| |
|
|
| |
llvm-svn: 67307
|
| |
|
|
|
|
| |
codegen (speculative execution).
llvm-svn: 66859
|
| |
|
|
|
|
|
|
| |
right; did the wrong thing when there are exactly 11
non-debug instructions, followed by debug info.
Remove a FIXME since it's apparently been fixed along the way.
llvm-svn: 66840
|
| |
|
|
|
|
| |
sorting of ConstantInt's; unreinvent wheel.
llvm-svn: 66824
|
| |
|
|
| |
llvm-svn: 66800
|
| |
|
|
| |
llvm-svn: 66751
|
| |
|
|
|
|
|
|
|
| |
from a switch table. Multiple table entries that
branch to the same place were being sorted by the
pointer value of the ConstantInt*; changed to sort
by the actual value of the ConstantInt.
llvm-svn: 66749
|
| |
|
|
| |
llvm-svn: 66554
|
| |
|
|
|
|
| |
an optimization.
llvm-svn: 66288
|
| |
|
|
|
|
| |
intrinsics.
llvm-svn: 66255
|
| |
|
|
| |
llvm-svn: 65961
|
| |
|
|
| |
llvm-svn: 65960
|
| |
|
|
|
|
| |
conditional branch predecessors.
llvm-svn: 65509
|
| |
|
|
| |
llvm-svn: 65456
|
| |
|
|
|
|
|
|
|
|
|
| |
predecessor, instead of removing it. This fixes following tests from llvmgcc42 testsuite.
gcc.c-torture/execute/20000605-3.c
gcc.c-torture/execute/20020619-1.c
gcc.c-torture/execute/20030920-1.c
gcc.c-torture/execute/loop-ivopts-1.c
llvm-svn: 65353
|
| |
|
|
|
|
| |
llvm.dbg.func.start also.
llvm-svn: 64278
|
| |
|
|
| |
llvm-svn: 64242
|
| |
|
|
| |
llvm-svn: 63888
|
| |
|
|
| |
llvm-svn: 63876
|
| |
|
|
| |
llvm-svn: 63802
|
| |
|
|
| |
llvm-svn: 63781
|
| |
|
|
| |
llvm-svn: 63700
|
| |
|
|
|
|
| |
the branch block.
llvm-svn: 63687
|
| |
|
|
| |
llvm-svn: 63671
|
| |
|
|
| |
llvm-svn: 62561
|
| |
|
|
| |
llvm-svn: 62546
|
| |
|
|
|
|
| |
trapping instruction be executed unconditionally.
llvm-svn: 62541
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|