- Apr 22, 2011
-
-
Devang Patel authored
llvm-svn: 130004
-
Ted Kremenek authored
llvm-svn: 130003
-
Ken Dyck authored
functionality intended. llvm-svn: 130002
-
Ken Dyck authored
variables to CharUnits. No change in functionality intended. llvm-svn: 130001
-
Argyrios Kyrtzidis authored
Fixes an assertion later on, rdar://9122862 & http://llvm.org/PR9460. llvm-svn: 130000
-
Ken Dyck authored
change in functionality intended. llvm-svn: 129999
-
Ken Dyck authored
EmitTypeForVarWithBlocksAttr(). No change in functionality intended. llvm-svn: 129998
-
Ken Dyck authored
functionality intended. llvm-svn: 129996
-
Devang Patel authored
llvm-svn: 129995
-
Caroline Tice authored
llvm-svn: 129993
-
Caroline Tice authored
Modify to use the new test files. llvm-svn: 129992
-
Caroline Tice authored
Reformat the emulation test data files. llvm-svn: 129991
-
Benjamin Kramer authored
X86: Try to use a smaller encoding by transforming (X << C1) & C2 into (X & (C2 >> C1)) & C1. (Part of PR5039) This tends to happen a lot with bitfield code generated by clang. A simple example for x86_64 is uint64_t foo(uint64_t x) { return (x&1) << 42; } which used to compile into bloated code: shlq $42, %rdi ## encoding: [0x48,0xc1,0xe7,0x2a] movabsq $4398046511104, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00] andq %rdi, %rax ## encoding: [0x48,0x21,0xf8] ret ## encoding: [0xc3] with this patch we can fold the immediate into the and: andq $1, %rdi ## encoding: [0x48,0x83,0xe7,0x01] movq %rdi, %rax ## encoding: [0x48,0x89,0xf8] shlq $42, %rax ## encoding: [0x48,0xc1,0xe0,0x2a] ret ## encoding: [0xc3] It's possible to save another byte by using 'andl' instead of 'andq' but I currently see no way of doing that without making this code even more complicated. See the TODOs in the code. llvm-svn: 129990
-
Frits van Bommel authored
llvm-svn: 129988
-
Justin Holewinski authored
llvm-svn: 129987
-
Francois Pichet authored
llvm-svn: 129986
-
Francois Pichet authored
Downgrade error "static declaration of 'foo' follows non-static declaration" to a warning in Microsoft mode. llvm-svn: 129985
-
Eric Christopher authored
llvm-svn: 129984
-
Argyrios Kyrtzidis authored
double data[20000000] = { [19999999] = 1 }; Don't serialize the filler multiple times. llvm-svn: 129983
-
Francois Pichet authored
llvm-svn: 129982
-
Caroline Tice authored
Change code for reading emulation data files to read the new file format. (The newly formatted files will go in as a separate commit in a few minutes). llvm-svn: 129981
-
Eric Christopher authored
llvm-svn: 129980
-
Bob Wilson authored
llvm-svn: 129979
-
Eric Christopher authored
llvm-svn: 129978
-
Greg Clayton authored
set by default when dumping registers. If you want to see all of the register sets you can use the "--all" option: (lldb) register read --all If you want to just see some register sets, you can currently specify them by index: (lldb) register read --set 0 --set 2 We need to get shorter register set names soon so we can specify the register sets by name without having to type too much. I will make this change soon. You can also have any integer encoded registers resolve the address values back to any code or data from the object files using the "--lookup" option. Below is sample output when stopped in the libc function "puts" with some const strings in registers: Process 8973 stopped * thread #1: tid = 0x2c03, 0x00007fff828fa30f libSystem.B.dylib`puts + 1, stop reason = instruction step into frame #0: 0x00007fff828fa30f libSystem.B.dylib`puts + 1 (lldb) register read --lookup General Purpose Registers: rax = 0x0000000100000e98 "----------------------------------------------------------------------" rbx = 0x0000000000000000 rcx = 0x0000000000000001 rdx = 0x0000000000000000 rdi = 0x0000000100000e98 "----------------------------------------------------------------------" rsi = 0x0000000100800000 rbp = 0x00007fff5fbff710 rsp = 0x00007fff5fbff280 r8 = 0x0000000000000040 r9 = 0x0000000000000000 r10 = 0x0000000000000000 r11 = 0x0000000000000246 r12 = 0x0000000000000000 r13 = 0x0000000000000000 r14 = 0x0000000000000000 r15 = 0x0000000000000000 rip = 0x00007fff828fa30f libSystem.B.dylib`puts + 1 rflags = 0x0000000000000246 cs = 0x0000000000000027 fs = 0x0000000000000000 gs = 0x0000000000000000 As we can see, we see two constant strings and the PC (register "rip") is showing the code it resolves to. I fixed the register "--format" option to work as expected. Added a setting to disable skipping the function prologue when setting breakpoints as a target settings variable: (lldb) settings set target.skip-prologue false Updated the user settings controller boolean value handler funciton to be able to take the default value so it can correctly respond to the eVarSetOperationClear operation. Did some usability work on the OptionValue classes. Fixed the "image lookup" command to correctly respond to the "--verbose" option and display the detailed symbol context information when looking up line table entries and functions by name. This previously was only working for address lookups. llvm-svn: 129977
-
Eric Christopher authored
llvm-svn: 129976
-
Eric Christopher authored
llvm-svn: 129975
-
Eric Christopher authored
Patch by Patrick Walton! llvm-svn: 129974
-
Eric Christopher authored
llvm-svn: 129973
-
NAKAMURA Takumi authored
llvm-svn: 129972
-
Evan Cheng authored
add <rd>, sp, #<imm8> ldr <rd>, [sp, #<imm8>] When the offset from sp is multiple of 4 and in range of 0-1020. This saves code size by utilizing 16-bit instructions. rdar://9321541 llvm-svn: 129971
-
Evan Cheng authored
llvm-svn: 129970
-
Chandler Carruth authored
the first time through. llvm-svn: 129969
-
Chandler Carruth authored
Silences GCC warning. I wonder why Clang doesn't warn on this... llvm-svn: 129968
-
-
Bill Wendling authored
An exception is thrown via a call to _cxa_throw, which we don't expect to return. Therefore, the "true" part of the invoke goes to a BB that has 'unreachable' as its only instruction. This is lowered into an empty MachineBB. The landing pad for this invoke, however, is directly after the "true" MBB. When the empty MBB is removed, the landing pad is directly below the BB with the invoke call. The unconditional branch is removed and then the two blocks are merged together. The testcase is too big for a regression test. <rdar://problem/9305728> llvm-svn: 129965
-
Bob Wilson authored
This is needed so the front-end can see "aligned" attributes on the type for the pointer arguments. Radar 9311427. llvm-svn: 129964
-
Johnny Chen authored
rather than calling "process kill" explicitly at the end of the test. The test might not even reach the end because it could have failed prematurely. llvm-svn: 129963
-
Johnny Chen authored
only when the test is currently running against the relevant architecture. llvm-svn: 129960
-
Rafael Espindola authored
X8664_ELFTargetObjectFile::getFDEEncoding to match reality. llvm-svn: 129959
-