- Mar 18, 2011
-
-
-
Jakob Stoklund Olesen authored
The llvm.dbg.value intrinsic refers to SSA values, not virtual registers, so we should be able to extend the range of a value by tracking that value through register copies. This greatly improves the debug value tracking for function arguments that for some reason are copied to a second virtual register at the end of the entry block. We only extend the debug value range where its register is killed. All original llvm.dbg.value locations are still respected. Copies from physical registers are ignored. That should not be a problem since the entry block already adds DBG_VALUE instructions for the virtual registers holding the function arguments. llvm-svn: 127912
-
Eli Friedman authored
llvm-svn: 127909
-
Rafael Espindola authored
'ar'. Have to figure out how to make libLTO even lazier. llvm-svn: 127901
-
Owen Anderson authored
llvm-svn: 127900
-
Owen Anderson authored
llvm-svn: 127899
-
Justin Holewinski authored
- Emit mad instead of mad.rn for shader model 1.0 - Emit explicit mov.u32 instructions for reading global variables - (most PTX instructions cannot take global variable immediates) llvm-svn: 127895
-
Jim Grosbach authored
Factor out the 64-bit specific bits into a helper function and add an equivalent that loads the 32-bit sections. This allows using llvm-rtdyld on ARM. llvm-svn: 127892
-
Jim Grosbach authored
llvm-svn: 127891
-
Owen Anderson authored
llvm-svn: 127888
-
Oscar Fuentes authored
llvm-svn: 127887
-
Jim Grosbach authored
llvm-svn: 127886
-
Jim Grosbach authored
Add a bone-simple utility to load a MachO object into memory, look for a function (main) in it, and run that function directly. This will be used as a test and development platform for MC-JIT work regarding symbol resolution, dynamic lookup, etc.. Code by Daniel Dunbar. llvm-svn: 127885
-
Andrew Trick authored
For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. llvm-svn: 127884
-
Jim Grosbach authored
llvm-svn: 127883
-
Joerg Sonnenberger authored
For now, only the default segments are supported. llvm-svn: 127875
-
Che-Liang Chiou authored
llvm-svn: 127874
-
Che-Liang Chiou authored
llvm-svn: 127873
-
NAKAMURA Takumi authored
On MSVCRT and compatible, output of %e is incompatible to Posix by default. Number of exponent digits should be at least 2. "%+03d" FIXME: Implement our formatter in future! llvm-svn: 127872
-
Bill Wendling authored
makes valgrind stop complaining about uninitialized variables being read when it accesses a bitfield (category) that shares its bits with these variables. llvm-svn: 127871
-
Rafael Espindola authored
functions and initializers, just report the declarations present in the module. The motivation is to open the way for using the lazy module parsing, which should speed up clients that just want a symbol list (nm, ar). This is slightly less precise, but since both -strip-dead-prototypes and -globaldce are part of the standard pipeline, this shouldn't change the result for clang/dragonegg produced binaries. Any decl in an IL file was also put there because a FE expected it to be necessary, so this should not be a problem for "-O0 -emit-llvm". As a sanity check, I have bootstrapped clang on linux and built firefox on both linux and darwin. A clang bootstrap on darwin with LTO fails with or without this patch because, ironically, the linker doesn't like the combination of dead_strip and LTO when building libLTO.so :-) llvm-svn: 127870
-
Jakob Stoklund Olesen authored
Stack slot real estate is virtually free compared to registers, so it is advantageous to spill earlier even though the same value is now kept in both a register and a stack slot. Also eliminate redundant spills by extending the stack slot live range underneath reloaded registers. This can trigger a dead code elimination, removing copies and even reloads that were only feeding spills. llvm-svn: 127868
-
Rafael Espindola authored
llvm-svn: 127867
-
Ted Kremenek authored
Tweak CrashRecoveryContextCleanup::createCleanup() to use the 'delete' cleanup as opposed to the 'destructor' cleanup (reclaims more memory). llvm-svn: 127865
-
NAKAMURA Takumi authored
llvm-svn: 127859
-
NAKAMURA Takumi authored
llvm-svn: 127858
-
Jakob Stoklund Olesen authored
This is not supposed to happen, but I have seen the x86 rematter getting confused when rematerializing partial redefs. llvm-svn: 127857
-
Jakob Stoklund Olesen authored
and early clobbers. Assert when trying to find an undefined value. llvm-svn: 127856
-
Ted Kremenek authored
Add new CrashRecoveryContextCleanup subclass: CrashRecoveryContextDeleteCleanup. This deletes the object, not just calls its destructor. llvm-svn: 127855
-
Rafael Espindola authored
llvm-svn: 127853
-
Eli Friedman authored
comparisons on x86. Essentially, the way this works is that SUB+SBB sets the relevant flags the same way a double-width CMP would. This is a substantial improvement over the generic lowering in LLVM. The output is also shorter than the gcc-generated output; I haven't done any detailed benchmarking, though. llvm-svn: 127852
-
Ted Kremenek authored
Augment CrashRecoveryContext to have registered "cleanup" objects that can be used to release resources during a crash. llvm-svn: 127849
-
Eli Friedman authored
llvm-svn: 127845
-
Johnny Chen authored
Remove the offending logic and update the test cases. llvm-svn: 127843
-
Andrew Trick authored
llvm-svn: 127842
-
Owen Anderson authored
llvm-svn: 127840
-
Andrew Trick authored
SCEV may generate expressions composed of multiple pointers, which can lead to invalid GEP expansion. Until we can teach SCEV to follow strict pointer rules, make sure no bad GEPs creep into IR. Fixes rdar://problem/9038671. llvm-svn: 127839
-
Andrew Trick authored
llvm-svn: 127837
-
- Mar 17, 2011
-
-
Rafael Espindola authored
instead of copying. llvm-svn: 127835
-
Devang Patel authored
This is done by lowering dbg.declare intrinsic into dbg.value intrinsic. Radar 9143931. llvm-svn: 127834
-