- Apr 03, 2008
-
-
Evan Cheng authored
- Be (slightly) smarter about where to place the copies. llvm-svn: 49165
-
Evan Cheng authored
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. llvm-svn: 49164
-
Ted Kremenek authored
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. llvm-svn: 49162
-
Evan Cheng authored
llvm-svn: 49158
-
Evan Cheng authored
Fix x86-64 encoding bug. REX prefix must always follow 0x0F prefix. For example, extractps in 64bit mode: 66 REX 0F 3A 17, not 66 0F 3A REX 17. llvm-svn: 49157
-
Evan Cheng authored
llvm-svn: 49156
-
Evan Cheng authored
llvm-svn: 49129
-
Evan Cheng authored
llvm-svn: 49124
-
Dan Gohman authored
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. llvm-svn: 49123
-
Dan Gohman authored
it causes compile errors. llvm-svn: 49122
-
- Apr 02, 2008
-
-
Dale Johannesen authored
llvm-svn: 49111
-
Dale Johannesen authored
StripSymbols when EH is on. llvm-svn: 49110
-
Dan Gohman authored
now that llvm-gcc is lowering appropriately-sized struct returns to i128 on x86-64. llvm-svn: 49109
-
David Greene authored
Iterators folloring a SmallVector erased element are invalidated so don't access cached iterators from after the erased element. Re-apply 49056 with SmallVector support. llvm-svn: 49106
-
Evan Cheng authored
Now that I am told MachineRegisterInfo also tracks physical register uses / 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. llvm-svn: 49105
-
Evan Cheng authored
llvm-svn: 49099
-
Dale Johannesen authored
llvm-svn: 49096
-
Torok Edwin authored
It allows Use-Def and Def-Use relations to be treated as graphs. llvm-svn: 49088
-
Anton Korobeynikov authored
when some another register is used for argument passing. Currently is used on Win64. llvm-svn: 49079
-
Owen Anderson authored
node and its inputs. llvm-svn: 49070
-
Owen Anderson authored
unknown defining inst after PHI elimination. llvm-svn: 49069
-
Chris Lattner authored
llvm-svn: 49065
-
Dale Johannesen authored
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. llvm-svn: 49064
-
Evan Cheng authored
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. llvm-svn: 49061
-
Tanya Lattner authored
llvm-svn: 49060
-
Evan Cheng authored
ReMat of load from stub in pic mode extends the life of pic base. Currently spiller doesn't do a good job of estimating the impact. Disable for now. llvm-svn: 49059
-
David Greene authored
Iterators folloring a SmallVector erased element are invalidated so don't access cached iterators from after the erased element. llvm-svn: 49056
-
Bill Wendling authored
llvm-svn: 49055
-
- Apr 01, 2008
-
-
Evan Cheng authored
llvm-svn: 49054
-
Evan Cheng authored
llvm-svn: 49053
-
Dan Gohman authored
llvm-svn: 49050
-
Dan Gohman authored
llvm-svn: 49048
-
Dale Johannesen authored
llvm-svn: 49046
-
Chris Lattner authored
llvm-svn: 49045
-
Chris Lattner authored
llvm-svn: 49044
-
Owen Anderson authored
llvm-svn: 49043
-
Chris Lattner authored
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. llvm-svn: 49041
-
Chris Lattner authored
llvm-svn: 49040
-
Evan Cheng authored
llvm-svn: 49037
-
Chris Lattner authored
llvm-svn: 49036
-