aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-03-17Remove a condition which is always true.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Add newline at end of file.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67085 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17CellSPU:Scott Michel
Revert inadvertent mis-fix of fneg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Minimal raw_ostream unit testsDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17r66870 missed this out.Sanjiv Gupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17typoGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67080 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Reapply r67049, with the test adjusted for darwinDuncan Sands
(which produces "call L_f$stub" rather than "call f"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Fix a problem with DAGCombine where we were building an illegal buildMon P Wang
vector shuffle mask. Forced the mask to be built using i32. Note: this will be irrelevant once vector_shuffle no longer takes a build vector for the shuffle mask. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67076 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Recognize bswapl as bswap too.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67072 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Recognize "bswapq" as an alternate spelling for the bswap instruction.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67071 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17raw_ostream: Return '*this' explicitly (instead of implicitly viaDaniel Dunbar
write) to expose more alias information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17raw_ostream: Put all exceptional conditions in raw_ostream::writeDaniel Dunbar
under a single branch. Also, add a FIXME for formatted output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Spiller may unfold load / mod / store instructions as an optimization when ↵Evan Cheng
the would be loaded value is available in a register. It needs to check if it's legal to clobber the register. Also, the register can contain values of multiple spill slots, make sure to check all instead of just the one being unfolded. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67068 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17CellSPU:Scott Michel
- Fix fabs, fneg for f32 and f64. - Use BuildVectorSDNode.isConstantSplat, now that the functionality exists - Continue to improve i64 constant lowering. Lower certain special constants to the constant pool when they correspond to SPU's shufb instruction's special mask values. This avoids the overhead of performing a shuffle on a zero-filled vector just to get the special constant when the memory load suffices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17raw_ostream: Rework implementation of unbuffered streams so outputtingDaniel Dunbar
a single character requires only one branch to follow slow path. - Never use a buffer when writing on an unbuffered stream. - Move default buffer size to header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Fix a debug info dependency in jump threading.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16raw_ostream: Replace flush_impl with write_impl, which takes data toDaniel Dunbar
write as arguments. - Add raw_ostream::GetNumBytesInBuffer. - Privatize buffer pointers. - Get rid of slow and unnecessary code for writing out large strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67060 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16raw_ostream: Lift out flush_nonempty.Daniel Dunbar
- Flush a known non-empty buffers; enforces the interface to flush_impl and kills off HandleFlush (which I saw no reason to be an inline method, Chris?). - Clarify invariant that flush_impl is only called with OutBufCur > OutBufStart. - This also cleary collects all places where we have to deal with the buffer possibly not existing. - A few more comments and fixing the unbuffered behavior remain in this commit sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16CMake: Build system fixes for XCode. llvm-config still causes us some ↵Douglas Gregor
serious trouble, but it's less serious than it used to be git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Make raw_ostream::operator<<(const void *) fast; it doesn't matter butDaniel Dunbar
it is easy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Add slow path for single character write, and use exclusively forDaniel Dunbar
single characters writes outside of the fast path in raw_ostream.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16CMake: Make sure to build TableGen'd files in the binary directoryDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67052 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16--- Reverse-merging (from foreign repository) r67049 into '.':Bill Wendling
U test/CodeGen/X86/2009-03-13-PHIElimBug.ll D test/CodeGen/X86/2009-03-16-PHIElimInLPad.ll U lib/CodeGen/PHIElimination.cpp r67049 was causing this failure: Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/X86/dg.exp ... FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/X86/2009-03-13-PHIElimBug.ll for PR3784 Failed with exit(1) at line 1 while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/X86/2009-03-13-PHIElimBug.ll | llc -march=x86 | /usr/bin/grep -A 2 {call f} | /usr/bin/grep movl child process exited abnormally git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67051 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Tweak the fix for PR3784: be less sensitive about justDuncan Sands
how invokes are set up. The fix could be disturbed by register copies coming after the EH_LABEL, and also didn't behave quite right when it was the invoke result that was used in a phi node. Also (see new testcase) fix another phi elimination bug while there: register copies in the landing pad need to come after the EH_LABEL, because that's where execution branches to when unwinding. If they come before the EH_LABEL then they will never be executed... Also tweak the original testcase so it doesn't use a no-longer existing counter. The accumulated phi elimination changes fix two of seven Ada testsuite failures that turned up after landing pad critical edge splitting was turned off. So there's probably more to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67049 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16CellSPU:Scott Michel
Incorporate Tilmann's 128-bit operation patch. Evidently, it gets the llvm-gcc bootstrap a bit further along. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16change this to test for an alias result more directly.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67046 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Add TGSourceMgr.cpp to CMake build, sort linesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67042 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-15This causes incorrect stack frame allocation when the last object is an ↵Bruno Cardoso Lopes
array allocated on the stack which would lead the compiled program to run over its stack. Thanks to Gil Dogon git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67034 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-15Simplify. "Broken" is always true here.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67025 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-15Remove obviously redundant call.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67023 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Give the pre-alloc splitter access to the VirtRegMap. It doesn't do anythingOwen Anderson
useful with it at the moment, but it will in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67012 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Add a replacement for 2009-02-12-GEPNoalias.ll that works without -debug.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Apply a patch by Micah Villmow to fix AsmParser to accept vectorDan Gohman
shift constant expressions, and add support for folding vector shift constant expressions. This fixes PR3802. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Fix Clang build for srcdir != objdirSebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67008 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Add support for generating Clang diagnostic defs to Makefile.rules.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67006 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Add TableGen syntax highlighting for the jEdit editor.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67005 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Add a testcase that covers a wide variety of ABI isel cases.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67003 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Use %rip-relative addressing on x86-64 whenever practical, asDan Gohman
it has a smaller encoding than absolute addressing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67002 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Don't forego folding of loads into 64-bit adds when the otherDan Gohman
operand is a signed 32-bit immediate. Unlike with the 8-bit signed immediate case, it isn't actually smaller to fold a 32-bit signed immediate instead of a load. In fact, it's larger in the case of 32-bit unsigned immediates, because they can be materialized with movl instead of movq. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67001 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Add newlines at end of file (this can annoy gcov)Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67000 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-14Avoid doing the transformation c ? 1.0 : 2.0 as load { 2.0, 1.0 } + c*4Mon P Wang
if FPConstant is legal because if the FPConstant doesn't need to be stored in a constant pool, the transformation is unlikely to be profitable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66994 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Add a few more ptrtoint/inttoptr cast tests.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66989 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Improve FastISel's handling of truncates to i1, and implementDan Gohman
ptrtoint and inttoptr in X86FastISel. These casts aren't always handled in the generic FastISel code because X86 sometimes needs custom code to do truncation and zero-extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66988 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fix -strip-debug-declare to work when there areDale Johannesen
llvm.global.variable's but no llvm.declare's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fix PR3784: If the source of a phi comes from a bb ended with an invoke, ↵Evan Cheng
make sure the copy is inserted before the try range (unless it's used as an input to the invoke, then insert it after the last use), not at the end of the bb. Also re-apply r66140 which was disabled as a workaround. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66976 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Add (hidden) TableGen command option '-clang-component' which specifies theTed Kremenek
component's warnings to process for '-gen-clang-diags-defs'. Also, when the component is specified, generate a '#if' prologue at the top of the generated .def file (to match the current files). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Add initial implementation of a TableGen backend for converting Clang-warningsTed Kremenek
tablegen files to the original .def preprocessor include files. This is my first TableGen backend; I don't claim that it is awesome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Further constify Record::isSubClassOf.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66970 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fix test case. Now, llvm-gcc emits debug info for artificiaal variable ↵Devang Patel
_comp_ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66963 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fix a hashing bug in APInt. A certain pathological testcase (tooStuart Hastings
large for the testsuite) took over six minutes to compile on my Mac. The patched LLVM-GCC compiles that testcase in three seconds (GCC takes less than one second). This hash function is more complex (about 35 instructions on x86) than what Chris wanted, but I expect it will be well-behaved with arbitrary inputs. Thank you to everyone who responded to my previous request for advice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66962 91177308-0d34-0410-b5e6-96231b3b80d8