- Mar 29, 2012
-
-
Eric Christopher authored
in the property debug info. Any more isn't necessary after all. rdar://11144023 llvm-svn: 153659
-
Eric Christopher authored
llvm-svn: 153658
-
Jakob Stoklund Olesen authored
CodeGenPrepare sinks compare instructions down to their uses to prevent live flags and predicate registers across basic blocks. PRE of a compare instruction prevents that, forcing the i1 compare result into a general purpose register. That is usually more expensive than the redundant compare PRE was trying to eliminate in the first place. llvm-svn: 153657
-
Benjamin Kramer authored
llvm-svn: 153648
-
Tobias Grosser authored
- Link to several new bug reports that describe problems in more detail - Add some more items - Remove owners for inactive projects. This just blocks other people - Rename 'middle part' to 'optimizer' llvm-svn: 153647
-
Tobias Grosser authored
llvm-svn: 153646
-
Tobias Grosser authored
llvm-svn: 153645
-
Hongbin Zheng authored
llvm-svn: 153644
-
Benjamin Kramer authored
Replace assert(0) with llvm_unreachable to avoid warnings about dropping off the end of a non-void function in Release builds. llvm-svn: 153643
-
Hongbin Zheng authored
r152924, by $(LibDir). Because we assume polly built by autoconf is always in llvm tree. llvm-svn: 153642
-
Alexander Potapenko authored
llvm-svn: 153641
-
Eric Christopher authored
http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the getter and setter names into the fully qualified names. rdar://11144023 llvm-svn: 153640
-
Eric Christopher authored
http://llvm.org/docs/SourceLevelDebugging.html#objcproperty including type and DECL. Expand the metadata needed accordingly. rdar://11144023 llvm-svn: 153639
-
Bill Wendling authored
Module-level ASM may contain definitions of functions and globals. However, we were not telling the linker that these globals had definitions. As far as it was concerned, they were just declarations. Attempt to resolve this by inserting module-level ASM functions and globals into the '_symbol' set so that the linker will know that they have values. This gets us further towards our goal of compiling LLVM, but it still has problems when linking libLTO.dylib because of the `-dead_strip' flag that's passed to the linker. <rdar://problem/11124216> llvm-svn: 153638
-
Alexey Samsonov authored
llvm-svn: 153637
-
Craig Topper authored
Only allow symbolic names for (v)cmpss/sd/ps/pd encodings 8-31 to be used with 'v' version of instructions. llvm-svn: 153636
-
Joel Jones authored
This is a code change to add support for changing instruction sequences of the form: load inc/dec of 8/16/32/64 bits store into the appropriate X86 inc/dec through memory instruction: inc[qlwb] / dec[qlwb] The checks that were in X86DAGToDAGISel::Select(SDNode *Node)>>ISD::STORE have been extracted to isLoadIncOrDecStore and reworked to use the better named wrappers for getOperand(unsigned) (e.g. getOffset()) and replaced Chain.getNode() with LoadNode. The comments have also been expanded. llvm-svn: 153635
-
Bill Wendling authored
llvm-svn: 153634
-
Rafael Espindola authored
with libunwind installed. Patch by Jeffrey Yasskin! llvm-svn: 153633
-
Bill Wendling authored
llvm-svn: 153632
-
Sean Callanan authored
llvm-svn: 153630
-
rdar://problem/11052174Greg Clayton authored
<rdar://problem/11051056> Found a race condition when sending async packets in the ProcessGDBRemote. A little background: GDB remote clients can only send one packet at a time. You must send a packet and wait for a response. So when we continue, we obviously can't hold up the calling thread waiting for the process to stop again, so we have an async thread in the ProcessGDBRemote whose only job is to run packets that control the inferior process. When you send a continue packet, the only packet you can send is an interrupt packet (which consists of sending a CTRL+C (or a '\x03' byte)). This then stops the inferior and we can send the async packet, and then resume the target. There was a race condition that often happened during stepping where we are doing a source level single step which consists of many instruction steps and a few runs here and there when we step into a function. So the flow looks like: inst single step inst single step inst single step inst single step inst single step step BP and run inst single step inst single step inst single step Now if we got an async packet while the program is running we get something like: send --> continue send --> interrupt recv <-- interrupt stop reply packet send --> async packet recv <-- async response send --> continue again and wait for actual stop Problems arise when this was happening when single stepping a thread where we would get: send --> step thread 123 send --> interrupt send --> stop reply for thread 123 (from the step) Now we _might_ have an extra stop reply packet from the "interrupt" which we weren't checking for and we could end up with: send --> async packet (like memory read!) recv <-- async response (which is the interrupt stop reply packet) Now we have the read memroy reply sitting in our buffer and waiting to be used as the reply for the next packet... To further complicate things, the single step should have exited the async thread since the run control is finished, but now it will continue if it was interrupted. The fixes I checked in to two major things: - watch for the extra stop reply if we need to - make sure we exit from the async thread run loop when the previous run control (like the instruction level single step) is finished. Needless to say this makes very fast stepping in Xcode much more reliable. llvm-svn: 153629
-
Richard Smith authored
name as a direct initializer. llvm-svn: 153628
-
rdar://problem/11035349Greg Clayton authored
Fixed an issue with stepping where the stack frame list could get changed out from underneath you when multiple threads start accessing frame info. llvm-svn: 153627
-
Greg Clayton authored
When running this from the command line, don't pass the python script file itself to be disassembled. llvm-svn: 153626
-
Greg Clayton authored
llvm-svn: 153625
-
Enrico Granata authored
Fixing an issue where Unicode characters in an NSString were printed as escape sequences by the summary provider shipping with LLDB - Added relevant test case code. Bonus points for identifying the source of the quotes :-) llvm-svn: 153624
-
Joel Jones authored
llvm-svn: 153623
-
Richard Smith authored
diagnostic and a fix-it to explain to the user where the ellipsis is supposed to go. llvm-svn: 153622
-
Argyrios Kyrtzidis authored
in the interface, got its attribute rewritten twice, resulting in 'weakweak' or 'strongstrong'. rdar://11047179 llvm-svn: 153621
-
Michael J. Spencer authored
llvm-svn: 153620
-
Michael J. Spencer authored
llvm-svn: 153619
-
Michael J. Spencer authored
llvm-svn: 153618
-
Joel Jones authored
This is a code change to add support for changing instruction sequences of the form: load inc/dec of 8/16/32/64 bits store into the appropriate X86 inc/dec through memory instruction: inc[qlwb] / dec[qlwb] The checks that were in X86DAGToDAGISel::Select(SDNode *Node)>>ISD::STORE have been extracted to isLoadIncOrDecStore and reworked to use the better named wrappers for getOperand(unsigned) (e.g. getOffset()) and replaced Chain.getNode() with LoadNode. The comments have also been expanded. llvm-svn: 153617
-
Jan Wen Voung authored
Add a test for this too. llvm-svn: 153616
-
Jakob Stoklund Olesen authored
Some targets still mess up the liveness information, but that isn't verified after MRI->invalidateLiveness(). The verifier can still check other useful things like register classes and CFG, so it should be enabled after all passes. llvm-svn: 153615
-
Jakob Stoklund Olesen authored
The late scheduler depends on accurate liveness information if it is breaking anti-dependencies, so we should be able to verify it. Relax the terminator checking in the machine code verifier so it can handle the basic blocks created by if conversion. llvm-svn: 153614
-
John McCall authored
a complete object, the memcpy needs to use the data size of the structure instead of its sizeof() value. Fixes PR12204. llvm-svn: 153613
-
Bill Wendling authored
llvm-svn: 153612
-
Jakob Stoklund Olesen authored
When an strd instruction doesn't get the registers it wants, it can be expanded into two str instructions. Make sure the first str doesn't kill the base register in the case where the base and data registers are identical: t2STRi12 %R0<kill>, %R0, 4, pred:14, pred:%noreg t2STRi12 %R2<kill>, %R0, 8, pred:14, pred:%noreg <rdar://problem/11101911> llvm-svn: 153611
-