summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR9214: Convert ConstantExpr::getWithOperands() to use ArrayRef.Jay Foad2011-04-133-11/+7
| | | | llvm-svn: 129439
* From Vassil Vassilev: Give external source's last resort lookup a chance, ↵Axel Naumann2011-04-131-2/+2
| | | | | | even if an identifier could resolve to a builtin. llvm-svn: 129438
* Fix typo.Jay Foad2011-04-131-1/+1
| | | | llvm-svn: 129437
* Fix typo in comment.Jay Foad2011-04-131-2/+2
| | | | llvm-svn: 129436
* Like the coding standards say, do not use "using namespace std".Jay Foad2011-04-132-4/+2
| | | | llvm-svn: 129435
* Remove comment that snuck in there.Bill Wendling2011-04-131-1/+1
| | | | llvm-svn: 129434
* It looks like the FreeBSD buildbot needs this for the builtins-x86.c test.Bill Wendling2011-04-131-0/+2
| | | | llvm-svn: 129433
* Fix an obvious problem with an alignment computation. AsmPrinter actually doesCameron Zwarich2011-04-132-1/+3
| | | | | | | the max itself, so it is not easy to write a test case for this, but I added a test case that would fail if the code in AsmPrinter were removed. llvm-svn: 129432
* Teach -Wuninitialized about C++'s typeid expression, including both theChandler Carruth2011-04-132-0/+29
| | | | | | | | | | | evaluated and unevaluated contexts. Add some testing of sizeof and typeid. Both of the typeid tests added here were triggering warnings previously. Now the one false positive is suppressed without suppressing the warning on actually buggy code. llvm-svn: 129431
* Collect the options applicable to the Rewriter methods into a ↵Argyrios Kyrtzidis2011-04-132-34/+37
| | | | | | RewriterOptions struct. llvm-svn: 129430
* Fix a typo.Cameron Zwarich2011-04-132-7/+7
| | | | llvm-svn: 129429
* If a global variable has a specified alignment that is less than the preferredCameron Zwarich2011-04-132-2/+15
| | | | | | | alignment for its type, use the minimum of the specified alignment and the ABI alignment. This fixes <rdar://problem/9275290>. llvm-svn: 129428
* Just use a native "load" instead of translating the builtin later. Clang canBill Wendling2011-04-133-4/+2
| | | | | | | | | take it! I wasn't able to get __builtin_ia32_loaddqu to transform into an unaligned load...I'll have to look into it further. llvm-svn: 129427
* Still not used to put the * next to the variable name.Francois Pichet2011-04-131-1/+1
| | | | llvm-svn: 129426
* In Microsoft mode, within class scope, if a CXXScopeSpec's type is equal to ↵Francois Pichet2011-04-134-1/+67
| | | | | | | | | | | | | | | | | | the type of one of the base classes then downgrade the missing typename error to a warning. Up to now this is the only case I found where MSVC doesn't require "typename" at class scope. Really strange! This fixes 1 error when parsing the MSVC 2008 header files. Example: template<class T> class A { public: typedef int TYPE; }; template<class T> class B : public A<T> { public: A<T>::TYPE a; // no typename required because A<T> is a base class. }; llvm-svn: 129425
* Use EmitCallOrInvoke in EmitBadTypeidCall and EmitBadCastCall.Anders Carlsson2011-04-131-16/+6
| | | | llvm-svn: 129424
* Use %ull here.Nick Lewycky2011-04-131-1/+2
| | | | llvm-svn: 129423
* Fix various minor bugs in the ARM instruction emulation code.Caroline Tice2011-04-131-2/+11
| | | | llvm-svn: 129422
* Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor ↵Andrew Trick2011-04-139-186/+222
| | | | | | | | | | | | | | | | | | | | | latency. Additional fixes: Do something reasonable for subtargets with generic itineraries by handle node latency the same as for an empty itinerary. Now nodes default to unit latency unless an itinerary explicitly specifies a zero cycle stage or it is a TokenFactor chain. Original fixes: UnitsSharePred was a source of randomness in the scheduler: node priority depended on the queue data structure. I rewrote the recent VRegCycle heuristics to completely replace the old heuristic without any randomness. To make the ndoe latency adjustments work, I also needed to do something a little more reasonable with TokenFactor. I gave it zero latency to its consumers and always schedule it as low as possible. llvm-svn: 129421
* Convert the unaligned load builtins to the first-class versions.Bill Wendling2011-04-131-0/+13
| | | | llvm-svn: 129420
* Reapply r129401 with patch for clang.Bill Wendling2011-04-138-56/+44
| | | | llvm-svn: 129419
* Temporarily revert r129408 to see if it brings the bots back.Eric Christopher2011-04-132-15/+2
| | | | llvm-svn: 129417
* Revert newer xcscheme project file to avoid conflict with older XcodeGreg Clayton2011-04-131-4/+1
| | | | | | versions. llvm-svn: 129416
* Added two new classes for command options:Greg Clayton2011-04-1332-328/+625
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lldb_private::OptionGroup lldb_private::OptionGroupOptions OptionGroup lets you define a class that encapsulates settings that you want to reuse in multiple commands. It contains only the option definitions and the ability to set the option values, but it doesn't directly interface with the lldb_private::Options class that is the front end to all of the CommandObject option parsing. For that the OptionGroupOptions class can be used. It aggregates one or more OptionGroup objects and directs the option setting to the appropriate OptionGroup class. For an example of this, take a look at the CommandObjectFile and how it uses its "m_option_group" object shown below to be able to set values in both the FileOptionGroup and PlatformOptionGroup classes. The members used in CommandObjectFile are: OptionGroupOptions m_option_group; FileOptionGroup m_file_options; PlatformOptionGroup m_platform_options; Then in the constructor for CommandObjectFile you can combine the option settings. The code below shows a simplified version of the constructor: CommandObjectFile::CommandObjectFile(CommandInterpreter &interpreter) : CommandObject (...), m_option_group (interpreter), m_file_options (), m_platform_options(true) { m_option_group.Append (&m_file_options); m_option_group.Append (&m_platform_options); m_option_group.Finalize(); } We append the m_file_options and then the m_platform_options and then tell the option group the finalize the results. This allows the m_option_group to become the organizer of our prefs and after option parsing we end up with valid preference settings in both the m_file_options and m_platform_options objects. This also allows any other commands to use the FileOptionGroup and PlatformOptionGroup classes to implement options for their commands. Renamed: virtual void Options::ResetOptionValues(); to: virtual void Options::OptionParsingStarting(); And implemented a new callback named: virtual Error Options::OptionParsingFinished(); This allows Options subclasses to verify that the options all go together after all of the options have been specified and gives the chance for the command object to return an error. It also gives a chance to take all of the option values and produce or initialize objects after all options have completed parsing. Modfied: virtual Error SetOptionValue (int option_idx, const char *option_arg) = 0; to be: virtual Error SetOptionValue (uint32_t option_idx, const char *option_arg) = 0; (option_idx is now unsigned). llvm-svn: 129415
* Driver/no-integrated-as: Fix forwarding of -g flag to assembler, when .s inputDaniel Dunbar2011-04-121-5/+10
| | | | | | undergoes preprocessing. llvm-svn: 129414
* Be consistent about being virtual and returning void in the cfi methods.Rafael Espindola2011-04-124-87/+107
| | | | | | Implement the ones that were missing in the asm streamer. llvm-svn: 129413
* Redeclaration of 'self' should be flagged inFariborz Jahanian2011-04-123-0/+31
| | | | | | | objective-c instead of crashing in IRgen. // rdar://9154582. llvm-svn: 129412
* Add sanity check for Ld/St Dual forms of Thumb2 instructions.Johnny Chen2011-04-123-0/+52
| | | | | | rdar://problem/9273947 llvm-svn: 129411
* IRgen/Obj-C: Emit CFStrings and NSStrings with the alignment of the char type,Daniel Dunbar2011-04-122-2/+20
| | | | | | | | | | there is no reason to align them higher. - This roughly matches llvm-gcc's r126913. - It is an open question whether or not we should do this for cstring's in general (code size vs optimization potential), for now we just match llvm-gcc until someone wants to run some experiments. llvm-svn: 129410
* Add @earlyclobber constraints to the writeback register of all ARM store ↵Jakob Stoklund Olesen2011-04-122-12/+24
| | | | | | | | | | instructions. The ARMARM specifies these instructions as unpredictable when storing the writeback register. This shouldn't affect code generation much since storing a pointer to itself is quite rare. llvm-svn: 129409
* Fix a bug where we were counting the alias sets as completely usedEric Christopher2011-04-122-2/+15
| | | | | | | | registers for fast allocation. Fixes rdar://9207598 llvm-svn: 129408
* I missed this new file in previous commit.Devang Patel2011-04-121-0/+973
| | | | llvm-svn: 129407
* Simplify. There is no need to use static variable.Devang Patel2011-04-121-3/+1
| | | | llvm-svn: 129406
* Do not reuse parameter name.Devang Patel2011-04-121-1/+1
| | | | llvm-svn: 129405
* Fix a hole in the definition of "dependence" used by trap values. TrapDan Gohman2011-04-121-2/+22
| | | | | | | values are also transmitted through branches which cause side effects to be skipped altogether. llvm-svn: 129404
* Revert r129401 for now. Clang is using the old way of doing things.Bill Wendling2011-04-128-44/+56
| | | | llvm-svn: 129403
* This mechanical patch moves type handling into CompileUnit from DwarfDebug. ↵Devang Patel2011-04-124-1304/+377
| | | | | | In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious. llvm-svn: 129402
* Remove the unaligned load intrinsics in favor of using native unaligned loads.Bill Wendling2011-04-128-56/+44
| | | | | | | | | Now that we have a first-class way to represent unaligned loads, the unaligned load intrinsics are superfluous. First part of <rdar://problem/8460511>. llvm-svn: 129401
* Add more comments... err debug statements to the fast allocator.Eric Christopher2011-04-121-3/+16
| | | | llvm-svn: 129400
* Fix compiler command line used by lit.py when working with NMakeOscar Fuentes2011-04-121-2/+20
| | | | | | | | generators. It may improve robustness when testing from VS too. Based on a patch by David Neto! llvm-svn: 129398
* We can't emit an aggregate cast as its sub-expression in general justJohn McCall2011-04-122-6/+9
| | | | | | | | | because the result is ignored. The particular example here is with property l-values, but there could be all sorts of lovely casts that this isn't safe for. Sink the check into the one case that seems to actually be capable of honoring this. llvm-svn: 129397
* Driver: Don't treat -m{abi,arch,cpu,cmodel}= as "driver" options, they don'tDaniel Dunbar2011-04-121-4/+4
| | | | | | modify the driver planning. llvm-svn: 129396
* Teach VariadicMethodTypeChecker to not crash when processing methods ↵Ted Kremenek2011-04-122-1/+11
| | | | | | declared in protocols. llvm-svn: 129395
* Fix another IdempotentOperationsChecker corner case when determining if an ↵Ted Kremenek2011-04-121-1/+1
| | | | | | | | active block on the worklist impacts the results of the check. llvm-svn: 129394
* Provide options to explicitly enable/disable checkers in scan-build.Ted Kremenek2011-04-122-4/+22
| | | | llvm-svn: 129393
* Enable C++ static analysis support in ccc-analyzer.Ted Kremenek2011-04-121-6/+4
| | | | llvm-svn: 129392
* The Thumb2 RFE instructions need to have their second halfword fully specified.Johnny Chen2011-04-123-6/+14
| | | | | | | | | | In addition, the base register is not rGPR, but GPR with th exception that: if n == 15 then UNPREDICTABLE rdar://problem/9273836 llvm-svn: 129391
* SparseBitVector is SLOW.Jakob Stoklund Olesen2011-04-122-48/+58
| | | | | | | Use a Bitvector instead, we didn't need the smaller memory footprint anyway. This makes the greedy register allocator 10% faster. llvm-svn: 129390
* fix typoNick Kledzik2011-04-121-118/+118
| | | | llvm-svn: 129389
* MCJIT lazy relocation resolution and symbol address re-assignment.Jim Grosbach2011-04-123-99/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add handling for tracking the relocations on symbols and resolving them. Keep track of the relocations even after they are resolved so that if the RuntimeDyld client moves the object, it can update the address and any relocations to that object will be updated. For our trival object file load/run test harness (llvm-rtdyld), this enables relocations between functions located in the same object module. It should be trivially extendable to load multiple objects with mutual references. As a simple example, the following now works (running on x86_64 Darwin 10.6): $ cat t.c int bar() { return 65; } int main() { return bar(); } $ clang t.c -fno-asynchronous-unwind-tables -o t.o -c $ otool -vt t.o t.o: (__TEXT,__text) section _bar: 0000000000000000 pushq %rbp 0000000000000001 movq %rsp,%rbp 0000000000000004 movl $0x00000041,%eax 0000000000000009 popq %rbp 000000000000000a ret 000000000000000b nopl 0x00(%rax,%rax) _main: 0000000000000010 pushq %rbp 0000000000000011 movq %rsp,%rbp 0000000000000014 subq $0x10,%rsp 0000000000000018 movl $0x00000000,0xfc(%rbp) 000000000000001f callq 0x00000024 0000000000000024 addq $0x10,%rsp 0000000000000028 popq %rbp 0000000000000029 ret $ llvm-rtdyld t.o -debug-only=dyld ; echo $? Function sym: '_bar' @ 0 Function sym: '_main' @ 16 Extracting function: _bar from [0, 15] allocated to 0x100153000 Extracting function: _main from [16, 41] allocated to 0x100154000 Relocation at '_main' + 16 from '_bar(Word1: 0x2d000000) Resolving relocation at '_main' + 16 (0x100154010) from '_bar (0x100153000)(pcrel, type: 2, Size: 4). loaded '_main' at: 0x100154000 65 $ llvm-svn: 129388
OpenPOWER on IntegriCloud