summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* For -Wlogical-op-parentheses, point at '&&', not '||'. Fixes rdar://9125333.Argyrios Kyrtzidis2011-04-222-7/+7
| | | | llvm-svn: 130009
* Disassembly of A8.6.59 LDR (literal) Encoding T1 (16-bit thumb instruction) ↵Johnny Chen2011-04-224-3/+24
| | | | | | | | | | should print out ldr, not ldr.n. rdar://problem/9267772 llvm-svn: 130008
* I concur with DPG here. This does indeed apply in 0x mode. Added testChandler Carruth2011-04-222-2/+21
| | | | | | | | | cases that demonstrates exactly why this does indeed apply in 0x mode. If isPOD is currently broken in 0x mode, we should fix that directly rather than papering over it here. llvm-svn: 130007
* Don't enter a qualified scope for an invalid decl.Argyrios Kyrtzidis2011-04-222-2/+11
| | | | | | Fixes assertion later on. rdar://9122937 & http://llvm.org/PR9459 llvm-svn: 130006
* DAGCombine: fold "(zext x) == C" into "x == (trunc C)" if the trunc is lossless.Benjamin Kramer2011-04-223-30/+73
| | | | | | | | | | | | On x86 this allows to fold a load into the cmp, greatly reducing register pressure. movzbl (%rdi), %eax cmpl $47, %eax -> cmpb $47, (%rdi) This shaves 8k off gcc.o on i386. I'll leave applying the patch in README.txt to Chris :) llvm-svn: 130005
* Do not leak argument's DbgVariables.Devang Patel2011-04-221-1/+1
| | | | llvm-svn: 130004
* Add static analyzer support for C++'0X nullptr. Patch by Jim Goodnow II.Ted Kremenek2011-04-223-1/+45
| | | | llvm-svn: 130003
* Replace a couple of literal 8s with ASTContext::getCharWidth(). No change inKen Dyck2011-04-221-4/+8
| | | | | | functionality intended. llvm-svn: 130002
* Eliminate some literal 8s from EmitNullInitialization() by convertingKen Dyck2011-04-221-7/+9
| | | | | | variables to CharUnits. No change in functionality intended. llvm-svn: 130001
* In IsUserDefinedConversion try to recover from RequireCompleteType returning ↵Argyrios Kyrtzidis2011-04-222-1/+24
| | | | | | | | true. Fixes an assertion later on, rdar://9122862 & http://llvm.org/PR9460. llvm-svn: 130000
* Eliminate some literal 8s from EmitDeclare by converting to CharUnits. NoKen Dyck2011-04-221-5/+5
| | | | | | change in functionality intended. llvm-svn: 129999
* Use CharUnits to eliminate some literal 8s inKen Dyck2011-04-221-9/+11
| | | | | | EmitTypeForVarWithBlocksAttr(). No change in functionality intended. llvm-svn: 129998
* Replace some literal 8s with char width and char align. No change inKen Dyck2011-04-221-2/+2
| | | | | | functionality intended. llvm-svn: 129996
* Add asserts.Devang Patel2011-04-221-0/+2
| | | | llvm-svn: 129995
* Remove old emulation test data files.Caroline Tice2011-04-22157-20326/+0
| | | | llvm-svn: 129993
* Modify to use the new test files.Caroline Tice2011-04-221-2/+2
| | | | llvm-svn: 129992
* Reformat the emulation test data files.Caroline Tice2011-04-22157-0/+17740
| | | | llvm-svn: 129991
* X86: Try to use a smaller encoding by transforming (X << C1) & C2 into (X & ↵Benjamin Kramer2011-04-222-0/+176
| | | | | | | | | | | | | | | | | | | | | | | (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
* Comment out some unused parameter names to silence out-of-tree -Wunused ↵Frits van Bommel2011-04-221-8/+8
| | | | | | warnings. llvm-svn: 129988
* PTX: Add default PTX calling conventionsJustin Holewinski2011-04-222-0/+81
| | | | llvm-svn: 129987
* For consistency, change suffix from war_ to warn_ for some Microsoft ↵Francois Pichet2011-04-226-9/+9
| | | | | | warnings I introduced lately. llvm-svn: 129986
* Downgrade error "static declaration of 'foo' follows non-static declaration" ↵Francois Pichet2011-04-223-2/+18
| | | | | | to a warning in Microsoft mode. llvm-svn: 129985
* Use enums for constant values.Eric Christopher2011-04-221-12/+13
| | | | llvm-svn: 129984
* ForArgyrios Kyrtzidis2011-04-222-10/+28
| | | | | | | | double data[20000000] = { [19999999] = 1 }; Don't serialize the filler multiple times. llvm-svn: 129983
* _declspec is an alias for __declspec.Francois Pichet2011-04-221-0/+1
| | | | llvm-svn: 129982
* Change code for reading emulation data files to read the new fileCaroline Tice2011-04-229-141/+387
| | | | | | | format. (The newly formatted files will go in as a separate commit in a few minutes). llvm-svn: 129981
* Make the file format strings a little prettier for mach-o.Eric Christopher2011-04-221-16/+12
| | | | llvm-svn: 129980
* Add a testcase for svn r129964 (Neon load/store intrinsic alignments).Bob Wilson2011-04-221-0/+19
| | | | llvm-svn: 129979
* Add MachOObjectFile.cpp to cmake.Eric Christopher2011-04-221-0/+1
| | | | llvm-svn: 129978
* Did some work on the "register read" command to only show the first registerGreg Clayton2011-04-2213-180/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Hook in mach-o object files into Object interface.Eric Christopher2011-04-221-1/+1
| | | | llvm-svn: 129976
* Add support for 64-bit object files to Path.Eric Christopher2011-04-221-4/+10
| | | | llvm-svn: 129975
* Add an ObjectFile implementation for mach-o.Eric Christopher2011-04-221-0/+330
| | | | | | Patch by Patrick Walton! llvm-svn: 129974
* 80-col fix.Eric Christopher2011-04-221-1/+1
| | | | llvm-svn: 129973
* include/llvm/Target/TargetAsmInfo.h: Fix a warning.NAKAMURA Takumi2011-04-221-1/+1
| | | | llvm-svn: 129972
* In Thumb2 mode, lower frame indix references to:Evan Cheng2011-04-223-9/+36
| | | | | | | | | | | 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
* TypoEvan Cheng2011-04-221-1/+1
| | | | llvm-svn: 129970
* Delete the other unused variable in this function. Sorry I missed thisChandler Carruth2011-04-221-1/+0
| | | | | | the first time through. llvm-svn: 129969
* Remove an unused variable from a function. This is a likely cut-paste-o.Chandler Carruth2011-04-221-1/+0
| | | | | | | | Silences GCC warning. I wonder why Clang doesn't warn on this... llvm-svn: 129968
* Fix crashing rdar://9122854 & http://llvm.org/PR9461.Argyrios Kyrtzidis2011-04-222-1/+35
| | | | llvm-svn: 129967
* Branch folding is folding a landing pad into a regular BB.Bill Wendling2011-04-221-1/+1
| | | | | | | | | | | | | | | 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
* Define Neon load/store intrinsics for Clang as macros instead of functions.Bob Wilson2011-04-221-15/+51
| | | | | | | This is needed so the front-end can see "aligned" attributes on the type for the pointer arguments. Radar 9311427. llvm-svn: 129964
* Make the test case more robust by installing a teardown hook to kill the ↵Johnny Chen2011-04-221-5/+6
| | | | | | | | | | inferior 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
* Conditionalize the self.expect("dis -f", ...) test scenario to check on ↵Johnny Chen2011-04-221-7/+9
| | | | | | | | Intel disassembly only when the test is currently running against the relevant architecture. llvm-svn: 129960
* Compute the size of the FDE encoding instead of hard coding it. UpdateRafael Espindola2011-04-223-25/+25
| | | | | | X8664_ELFTargetObjectFile::getFDEEncoding to match reality. llvm-svn: 129959
* Wire up the -ftest-coverage and -fprofile-arcs flags to .gcno file emission (atNick Lewycky2011-04-2110-4/+39
| | | | | | | | | compile time) and .gcda emission (at runtime). --coverage enables both. This does not yet add the profile_rt library to the link step if -fprofile-arcs is enabled when linking. llvm-svn: 129956
* Remove unused argument.Rafael Espindola2011-04-219-40/+28
| | | | llvm-svn: 129955
* Fix indentation. No functional change.Nick Lewycky2011-04-211-2/+2
| | | | llvm-svn: 129954
* Don't pass address spaces to EmitULEB128IntValue.Rafael Espindola2011-04-211-3/+3
| | | | llvm-svn: 129953
* Fix DWARF description of Q registers.Devang Patel2011-04-212-0/+121
| | | | llvm-svn: 129952
OpenPOWER on IntegriCloud