aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-04If a value is cast to its own type, then the castDuncan Sands
is not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49210 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04Provide an initial cut at exposing JIT compiled symbols to performanceChris Lattner
tools. This is currently only enabled on the mac, but could easily be supported by other hosts that are interested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49207 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04Make ExecutionEngine::updateGlobalMapping return the old mapping.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49206 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04Undo PHI elimination copy placement patch. This causes coalescing ↵Evan Cheng
(performace) issues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49198 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-04This is done.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49197 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Reenable running StripSymbols when EH is on.Devang Patel
Dale fixed EH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49192 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03New test case.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49190 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Removed a deleted file from the VStudio System project. Also added custom ↵Chuck Rose III
build commands to engage 64 bit assembler for compilation callback on 64 bit configurations only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49188 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03if some functions don't have debug info, we were outputing the same label at ↵Andrew Lenharth
the start of each of those functions. This makes assemblers unhappy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49176 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Add member template version of SerializeTrait<T>::Create that also acceptsTed Kremenek
an optional argument for us by T's Create method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49169 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03- Turn copies of implicit_def into implicit_def instructions.Evan Cheng
- Be smarter about coalescing copies from implicit_def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49168 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Special handling of zero-sized live intervals.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49167 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03- Treat a live range defined by an implicit_def as a zero-sized one.Evan Cheng
- Eliminate an implicit_def when it's being spilled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49166 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03- PHI elimination also eliminates implicit_def that fits into a PHI node ↵Evan Cheng
rather than copying it. - Be (slightly) smarter about where to place the copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49165 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Start of a series of patches related to implicit_def.Evan Cheng
There is no point in creating a long live range defined by an implicit_def. Scheduler now duplicates implicit_def instruction for each of its uses. Therefore, if an implicit_def node has multiple uses, it will become a number of very short live ranges, rather than a long one. This will make coalescer's job easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49164 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Re-implemented Path::createDirectoryOnDisk (for Unix).Ted Kremenek
This method allows one to create a directory, and optionally create all parent directories that do not exist. The original implementation would require that *all* directories along a path are writable by the user, including directories that already exist. For example, suppose we wanted to create the directory "/tmp/foo/bar", and the directory "/tmp" already exists, but not "/tmp/foo". Since "/tmp" is writable by all users, the original implementation would work, and create "/tmp/foo", followed by "/tmp/bar". A problem occurred, however if one wanted to created the directory "/Users/myuser/bar" (or equivalently "/home/myuser/bar"), and "/Users/myuser" already existed and is writable by the current user. The directory "/User/myuser" is writable by the user, but "/User" is not. The original implementation of createDirectoryOnDisk would return with failure since "/User" is not writable, even though "/User/mysuser" is writable. The new implementation works by recursively creating parents as needed, and thus doesn't need to check the permissions on every directory in a path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49162 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Re-enable SSE4.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49158 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Fix x86-64 encoding bug. REX prefix must always follow 0x0F prefix. For ↵Evan Cheng
example, extractps in 64bit mode: 66 REX 0F 3A 17, not 66 0F 3A REX 17. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49157 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03CosmeticEvan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49156 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Temporarily disabling SSE4 until we fix the encoding issues.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49129 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Backing out 48222 temporarily.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49124 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-03Move instruction flag inference out of InstrInfoEmitter and intoDan Gohman
CodeGenDAGPatterns, where it can be used in other tablegen backends. This allows the inference to be done for DAGISelEmitter so that it gets accurate mayLoad/mayStore/isSimpleLoad flags. This brings MemOperand functionality back to where it was before 48329. However, it doesn't solve the problem of anonymous patterns which expand to code that does loads or stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49123 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Suppress the 128-bit integer typedef on 32-bit targets, becauseDan Gohman
it causes compile errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49122 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Testcase for EH with functions whose names are stripped.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49111 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Make EH work with unnamed functions. Reenable runningDale Johannesen
StripSymbols when EH is on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Partial CBackend support for 128-bit integers. This is neededDan Gohman
now that llvm-gcc is lowering appropriately-sized struct returns to i128 on x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Iterators folloring a SmallVector erased element are invalidated soDavid Greene
don't access cached iterators from after the erased element. Re-apply 49056 with SmallVector support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Now that I am told MachineRegisterInfo also tracks physical register uses / ↵Evan Cheng
defs, I can do away with the horribleness I introduced a while back. It's impossible to detect if there is any use of a physical register below an instruction (and before any def of the register) with some cheap book keeping. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49105 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Remove #include<map> from LiveVariables.h. Not referenced.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49099 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Cosmetic changes per EH patch review feedback.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49096 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Add new file Support/DataFlow.h.Torok Edwin
It allows Use-Def and Def-Use relations to be treated as graphs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49088 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Add new CC lowering rule: provide a list of registers, which can be 'shadowed',Anton Korobeynikov
when some another register is used for argument passing. Currently is used on Win64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49079 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02In some situations, we need to check for local interferences between the PHIOwen Anderson
node and its inputs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49070 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Correctly mark a valno that was previous defined by a PHI node as having anOwen Anderson
unknown defining inst after PHI elimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49069 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02more edits from Jon SargeantChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-02Recommitting EH patch; this should answer most of theDale Johannesen
review feedback. -enable-eh is still accepted but doesn't do anything. EH intrinsics use Dwarf EH if the target supports that, and are handled by LowerInvoke otherwise. The separation of the EH table and frame move data is, I think, logically figured out, but either one still causes full EH info to be generated (not sure how to split the metadata correctly). MachineModuleInfo::needsFrameInfo is no longer used and is removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49064 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-011. Drop default inline threshold back down to 200.Evan Cheng
2. Do not use # of basic blocks as part of the cost computation since it doesn't really figure into function size. 3. More aggressively inline function with vector code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49061 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Reverting 49056 due to the build being broken.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49060 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01ReMat of load from stub in pic mode extends the life of pic base. Currently ↵Evan Cheng
spiller doesn't do a good job of estimating the impact. Disable for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49059 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Iterators folloring a SmallVector erased element are invalidated soDavid Greene
don't access cached iterators from after the erased element. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49056 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Fix compilation errors on MSVC. Patch by Argiris Kirtzidis!Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49055 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Remove unnecessary and non-deterministic checking code. Re-enable remat of ↵Evan Cheng
load from gv stub. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49054 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Re-materialization is for uses only.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49053 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Don't use __bzero for memset if the second argument isn't zero.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49050 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Speculatively micro-optimize memory-zeroing calls on Darwin 10.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49048 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Revert 49006 for the moment.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49046 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01add a dropped hunk from Jon Sargeant's patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01make langref more precise, wave 1, from Jon SargeantChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49044 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Don't dereference MBB->end().Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49043 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner
start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49041 91177308-0d34-0410-b5e6-96231b3b80d8