- Sep 21, 2010
-
-
Evan Cheng authored
define double @foo(double %x, double %y, i1 %c) nounwind { %a = fdiv double %x, 3.2 %z = select i1 %c, double %a, double %y ret double %z } Was: _foo: divsd LCPI0_0(%rip), %xmm0 testb $1, %dil jne LBB0_2 movaps %xmm1, %xmm0 LBB0_2: ret Now: _foo: testb $1, %dil je LBB0_2 divsd LCPI0_0(%rip), %xmm0 ret LBB0_2: movaps %xmm1, %xmm0 ret This avoids the divsd when early exit is taken. rdar://8454886 llvm-svn: 114372
-
Nate Begeman authored
llvm-svn: 114371
-
Douglas Gregor authored
various priority adjustments for preferences (based on selectors, types) in a single function to make extension easier. llvm-svn: 114370
-
Dan Gohman authored
from rdar://8452472. This unbreaks gcc.dg/builtins-17.c. llvm-svn: 114368
-
- Sep 20, 2010
-
-
Caroline Tice authored
command options detailed help section (since it's sorted by short option). llvm-svn: 114364
-
Caroline Tice authored
and have them return a bool to indicate success or not. llvm-svn: 114361
-
Douglas Gregor authored
statement context; it really isn't helpful in practice (remember printf!) and we'll be doing other adjustments for statements very soon. llvm-svn: 114358
-
Douglas Gregor authored
- In Objective-C, we prefer BOOL to bool for historic reasons; slightly penalize "bool". - Treat Nil macro as a NULL pointer constant. - Treat YES, NO, true, and false macros as constants. - Treat the bool macro as a type. llvm-svn: 114356
-
Owen Anderson authored
llvm-svn: 114354
-
Caroline Tice authored
the parent of Process settings; add 'default-arch' as a class-wide setting for Target. Replace lldb::GetDefaultArchitecture with Target::GetDefaultArchitecture & Target::SetDefaultArchitecture. Add 'use-external-editor' as user setting to Debugger class & update code appropriately. Add Error parameter to methods that get user settings, for easier reporting of bad requests. Fix various other minor related bugs. Fix test cases to work with new changes. llvm-svn: 114352
-
Bill Wendling authored
llvm-svn: 114349
-
Owen Anderson authored
CombinerAA cannot assume that different FrameIndex's never alias, but can instead use MachineFrameInfo to get the actual offsets of these slots and check for actual aliasing. This fixes CodeGen/X86/2010-02-19-TailCallRetAddrBug.ll and CodeGen/X86/tailcallstack64.ll when CombinerAA is enabled, modulo a different register allocation sequence. llvm-svn: 114348
-
Douglas Gregor authored
that redundant types don't result in super-long USRs. Fixes <rdar://problem/8447875>. llvm-svn: 114347
-
Jim Grosbach authored
between the high and low registers for prologue/epilogue code. This was a Darwin-only thing that wasn't providing a realistic benefit anymore. Combining the save areas simplifies the compiler code and results in better ARM/Thumb2 codegen. For example, previously we would generate code like: push {r4, r5, r6, r7, lr} add r7, sp, #12 stmdb sp!, {r8, r10, r11} With this change, we combine the register saves and generate: push {r4, r5, r6, r7, r8, r10, r11, lr} add r7, sp, #12 rdar://8445635 llvm-svn: 114340
-
Rafael Espindola authored
llvm-svn: 114339
-
Evan Cheng authored
llvm-svn: 114338
-
Douglas Gregor authored
llvm-svn: 114336
-
Daniel Dunbar authored
document behavior. Will wonders never cease. llvm-svn: 114334
-
Johnny Chen authored
llvm-svn: 114333
-
Johnny Chen authored
llvm-svn: 114332
-
Douglas Gregor authored
actually resolves to a particular function. Fixes PR8181, from Faisal Vali! llvm-svn: 114331
-
Johnny Chen authored
llvm-svn: 114330
-
Douglas Gregor authored
bodies, from Martin Vejnar! llvm-svn: 114329
-
Johnny Chen authored
rdar://problem/8449849 llvm-svn: 114328
-
Caroline Tice authored
llvm-svn: 114326
-
Caroline Tice authored
Add GetDescription() and __repr__ () methods to most API classes, to allow "print" from inside Python to print out the objects in a more useful manner. llvm-svn: 114321
-
Francois Pichet authored
Fix the "unable to rename temporary" lit test failing on Windows. rename is now copy + delete on Windows. Problem to be revisited for a permanent and clean solution. llvm-svn: 114320
-
Chris Lattner authored
llvm-svn: 114319
-
Argyrios Kyrtzidis authored
llvm-svn: 114318
-
- Sep 19, 2010
-
-
NAKAMURA Takumi authored
test/CodeGen/X86: Add explicit triplet -mtriple=i686-linux to 3 tests incompatible to Win32 codegen. r114297 raises 3 failures. They might fail also on mingw. llvm-svn: 114317
-
-
Argyrios Kyrtzidis authored
llvm-svn: 114315
-
Argyrios Kyrtzidis authored
llvm-svn: 114314
-
Owen Anderson authored
llvm-svn: 114313
-
Owen Anderson authored
r114268 fixed the last of the blockers to enabling it. I will be monitoring for failures. llvm-svn: 114312
-
Daniel Dunbar authored
llvm-svn: 114311
-
Jakob Stoklund Olesen authored
llvm-svn: 114310
-
Misha Brukman authored
readable and easier to edit. llvm-svn: 114308
-
Johnny Chen authored
llvm-svn: 114307
-
Greg Clayton authored
replacing the "(lldb)" prompt, the "frame #1..." displays when doing stack backtracing and the "thread #1....". This will allow you to see exactly the information that you want to see where you want to see it. This currently isn't hookup up to the prompts yet, but it will be soon. So what is the format of the prompts? Prompts can contain variables that have access to the current program state. Variables are text that appears in between a prefix of "${" and ends with a "}". Some of the interesting variables include: // The frame index (0, 1, 2, 3...) ${frame.index} // common frame registers with generic names ${frame.pc} ${frame.sp} ${frame.fp} ${frame.ra} ${frame.flags} // Access to any frame registers by name where REGNAME is any register name: ${frame.reg.REGNAME} // The current compile unit file where the frame is located ${file.basename} ${file.fullpath} // Function information ${function.name} ${function.pc-offset} // Process info ${process.file.basename} ${process.file.fullpath} ${process.id} ${process.name} // Thread info ${thread.id} ${thread.index} ${thread.name} ${thread.queue} ${thread.stop-reason} // Target information ${target.arch} // The current module for the current frame (the shared library or executable // that contains the current frame PC value): ${module.file.basename} ${module.file.fullpath} // Access to the line entry for where the current frame is when your thread // is stopped: ${line.file.basename} ${line.file.fullpath} ${line.number} ${line.start-addr} ${line.end-addr} Many times the information that you might have in your prompt might not be available and you won't want it to print out if it isn't valid. To take care of this you can enclose everything that must resolve into a scope. A scope is starts with '{' and ends with '}'. For example in order to only display the current file and line number when the information is available the format would be: "{ at {$line.file.basename}:${line.number}}" Broken down this is: start the scope: "{" format whose content will only be displayed if all information is available: "at {$line.file.basename}:${line.number}" end the scope: "}" We currently can represent the infomration we see when stopped at a frame: frame #0: 0x0000000100000e85 a.out`main + 4 at test.c:19 with the following format: "frame #${frame.index}: ${frame.pc} {${module.file.basename}`}{${function.name}{${function.pc-offset}}{ at ${line.file.basename}:${line.number}}\n" This breaks down to always print: "frame #${frame.index}: ${frame.pc} " only print the module followed by a tick if we have a valid module: "{${module.file.basename}`}" print the function name with optional offset: "{${function.name}{${function.pc-offset}}" print the line info if it is available: "{ at ${line.file.basename}:${line.number}}" then finish off with a newline: "\n" Notice you can also put newlines ("\n") and tabs and everything else you are used to putting in a format string when desensitized with the \ character. Cleaned up some of the user settings controller subclasses. All of them do not have any global settings variables and were all implementing stubs for the get/set global settings variable. Now there is a default version in UserSettingsController that will do nothing. llvm-svn: 114306
-