Devang Patel [Wed, 1 Jul 2009 23:19:01 +0000 (23:19 +0000)]
Refactor. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74659
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 1 Jul 2009 23:16:05 +0000 (23:16 +0000)]
Add a new addressing mode for NEON load/store instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74658
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 23:13:44 +0000 (23:13 +0000)]
Make the use of const with respect to LLVMContext sane. Hopefully this is the last time, for the
moment, that I will need to make far-reaching changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74655
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Jul 2009 23:12:33 +0000 (23:12 +0000)]
Use find instead of operator[] to test whether an element is in a std::map.
This fixes a bug that caused -debug-pass=Details to abort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74654
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 1 Jul 2009 22:33:26 +0000 (22:33 +0000)]
--- Reverse-merging (from foreign repository) r74648 into '.':
U include/llvm/LLVMContext.h
U lib/VMCore/LLVMContext.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLParser.h
Temporarily reverting r74648. It was causing massive failures in release mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74653
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 22:10:23 +0000 (22:10 +0000)]
Keep DIDescriptor methods together.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74652
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 1 Jul 2009 21:59:43 +0000 (21:59 +0000)]
Fix a comment typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74650
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 21:58:14 +0000 (21:58 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74649
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 21:57:44 +0000 (21:57 +0000)]
Convert LLParser to use LLVMContext for creating constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74648
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Wed, 1 Jul 2009 21:45:23 +0000 (21:45 +0000)]
Use AA to check objects before LDA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74647
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Jul 2009 21:38:46 +0000 (21:38 +0000)]
Fix an instcombine abort on a scalar-to-vector bitcast. This fixes PR4487.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74646
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 21:36:28 +0000 (21:36 +0000)]
Tweak FindExecutable so that relative executable paths work as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74645
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 21:26:41 +0000 (21:26 +0000)]
Add getMDNode() to access metadata node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74644
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 1 Jul 2009 21:22:45 +0000 (21:22 +0000)]
Fix up a comment: besides the >80col lines, the operation for this
addressing mode is encoded in the second operand, not the third.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74641
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 21:22:36 +0000 (21:22 +0000)]
Hold the LLVMContext by reference rather than by pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74640
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 20:59:15 +0000 (20:59 +0000)]
Fix metadata unittests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74638
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 19:40:59 +0000 (19:40 +0000)]
new test case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74633
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 19:39:39 +0000 (19:39 +0000)]
Do not print stranded metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74632
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 19:21:12 +0000 (19:21 +0000)]
Support stand alone metadata syntax.
!0 = constant metadata !{i32 21, i32 22}
@llvm.blah = constant metadata !{i32 1000, i16 200, metadata !0}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74630
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 19:08:07 +0000 (19:08 +0000)]
Add machine operand for MDNodes. This will be used to communicate debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74628
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 1 Jul 2009 18:51:07 +0000 (18:51 +0000)]
llvm.dbg.declare is always used for local variable's debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74625
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 1 Jul 2009 18:50:55 +0000 (18:50 +0000)]
Update comments to make it clear that the function alignment is the Log2 of the
bytes and not bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74624
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Wed, 1 Jul 2009 18:30:10 +0000 (18:30 +0000)]
Update configure and config.h.in from r74621.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74623
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 18:14:20 +0000 (18:14 +0000)]
Fix unit tests for LLVMContext+Module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74622
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Wed, 1 Jul 2009 18:11:20 +0000 (18:11 +0000)]
Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes the
Windows variant, strerror_s, but I couldn't test that.
I'll update configure and config.h.in in a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74621
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 1 Jul 2009 17:51:56 +0000 (17:51 +0000)]
Use correct format for LLVM header #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74620
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 17:22:27 +0000 (17:22 +0000)]
I give up on trying to use reader/writer locks for recursive type refinement. Use a recursive mutex instead, which will (in theory) generate more contention, but is really
a much more natural fit for what's going on during recursive type refinement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74618
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 16:58:40 +0000 (16:58 +0000)]
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74614
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 16:53:44 +0000 (16:53 +0000)]
Fix codegen for references to available_externally symbols. This fixes
PR4482.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74613
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 16:19:23 +0000 (16:19 +0000)]
Try again at making this work on OpenBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74612
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Wed, 1 Jul 2009 16:10:29 +0000 (16:10 +0000)]
Executables will be at InstallDir/bin directory. Std header files will be at InstallDir/include, libs will be at InstallDir/lib. Define hooks for these and use them in the options for various tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74611
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Wed, 1 Jul 2009 15:40:10 +0000 (15:40 +0000)]
Insure that __block_holder_tmp is allocated on the stack when a byref
variable is present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74610
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 15:26:13 +0000 (15:26 +0000)]
Fix FindExecutable to work if given an absolute executable path name.
- Patch by Viktor Kutuzov, with tweaks by me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74608
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 15:14:50 +0000 (15:14 +0000)]
llvm-mc: Add some more doxyments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74607
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 14:52:59 +0000 (14:52 +0000)]
NewNightlyTest: Include minutes/seconds in log file names, to support running
multiple runs per day (insane, I know).
Also, remove some unused variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74605
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 1 Jul 2009 13:51:59 +0000 (13:51 +0000)]
Added step-by-step directions on how to use the script to build and install an
x86_64/Linux -> ARM/Linux crosstool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74603
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Jul 2009 08:29:08 +0000 (08:29 +0000)]
CommuteChangesDestination() should check if to-be-commuted instruction defines any register. Also teaches the default commuteInstruction() to commute instruction without definitions (e.g. X86::test / ARM::tsp).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74602
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Jul 2009 08:19:36 +0000 (08:19 +0000)]
Remove special handling of implicit_def. Fix a couple more bugs in liveintervalanalysis and coalescer handling of implicit_def.
Note, isUndef marker must be placed even on implicit_def def operand or else the scavenger will not ignore it. This is necessary because -O0 path does not use liveintervalanalysis, it treats implicit_def just like any other def.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74601
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 07:03:41 +0000 (07:03 +0000)]
Tweak MCSymbol doxyments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74599
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 06:56:54 +0000 (06:56 +0000)]
llvm-mc: Fill in the rest of tokens for 'as-lex' mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74598
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Jul 2009 06:53:29 +0000 (06:53 +0000)]
Fix the build on OpenBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74597
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 06:48:00 +0000 (06:48 +0000)]
Rename MCValue::isConstant to isAbsolute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74596
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:36:49 +0000 (06:36 +0000)]
add some of the new tokens, others are still missing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74595
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 06:35:48 +0000 (06:35 +0000)]
llvm-mc: Emit parsed instructions to the MCStreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74594
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 06:35:03 +0000 (06:35 +0000)]
Dump MCInsts in the MC .s printer, for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74593
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:31:49 +0000 (06:31 +0000)]
add comments, privatize interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:23:14 +0000 (06:23 +0000)]
disable some ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:21:53 +0000 (06:21 +0000)]
add some comments to MCSymbol header, make the ctor private so that only MCContext can create these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 06:08:37 +0000 (06:08 +0000)]
improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 04:13:31 +0000 (04:13 +0000)]
improve the APIs for creating struct and function types with no arguments/elements
to not have to create a temporary vector (in the API at least). Patch by Jay Foad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Jul 2009 03:27:19 +0000 (03:27 +0000)]
Fix some fast-isel problems selecting global variable addressing in
pic mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74582
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Jul 2009 01:59:31 +0000 (01:59 +0000)]
Handle IMPLICIT_DEF with isUndef operand marker, part 2. This patch moves the code to annotate machineoperands to LiveIntervalAnalysis. It also add markers for implicit_def that define physical registers. The rest, is just a lot of details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74580
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 1 Jul 2009 01:48:54 +0000 (01:48 +0000)]
Remove unused AsmPrinter OptLevel argument, and propogate.
- This more or less amounts to a revert of r65379. I'm curious to know what
happened that caused this variable to become unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74579
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Wed, 1 Jul 2009 00:01:13 +0000 (00:01 +0000)]
Add PIC load and store patterns for Thumb-2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74577
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 23:39:59 +0000 (23:39 +0000)]
Add a global context, for easing backwards compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74574
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:38:38 +0000 (23:38 +0000)]
llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74573
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:37:44 +0000 (23:37 +0000)]
Fill in some methods for the MCValue field of an MCOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74572
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 23:02:44 +0000 (23:02 +0000)]
llvm-mc: Accept relocatable expressions when parsing displacements and
immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74568
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 22:50:01 +0000 (22:50 +0000)]
Thumb-2 load and store double description. But nothing yet creates them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74566
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 22:49:27 +0000 (22:49 +0000)]
llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form are
allowed to be undefined when the expression is seen, we cannot enforce the
same-section requirement until the entire assembly file has been seen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 22:38:32 +0000 (22:38 +0000)]
Add an "alignment" field to the MachineFunction object. It makes more sense to
have the alignment be calculated up front, and have the back-ends obey whatever
alignment is decided upon.
This allows for future work that would allow for precise no-op placement and the
like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74564
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 22:11:34 +0000 (22:11 +0000)]
Add thumb-2 store word, halfword, and byte.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74555
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Tue, 30 Jun 2009 21:33:56 +0000 (21:33 +0000)]
Drop redundant print impl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74553
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 20:13:32 +0000 (20:13 +0000)]
Minor code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74551
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 20:10:56 +0000 (20:10 +0000)]
Reapply 74494, this time removing the conflicting definition of operator<<
in APIntTest.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74550
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 19:50:22 +0000 (19:50 +0000)]
Improve Thumb-2 jump table support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74549
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 30 Jun 2009 19:24:59 +0000 (19:24 +0000)]
Add 256-bit memory operand support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74548
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 18:04:13 +0000 (18:04 +0000)]
Add conditional and unconditional thumb-2 branch. Add thumb-2 jump table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74543
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 17:50:28 +0000 (17:50 +0000)]
Add wrappers for type construction to LLVMContext.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 17:10:19 +0000 (17:10 +0000)]
add a FAQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74538
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 17:06:46 +0000 (17:06 +0000)]
Fix up header comments to make Chris happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74537
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 30 Jun 2009 16:40:03 +0000 (16:40 +0000)]
Fix PR4485.
Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would
cause one register to remain on the stack at the function return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74534
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:26:57 +0000 (16:26 +0000)]
Revert my intentional breakage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74531
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:11:58 +0000 (16:11 +0000)]
Intentionally break a unittest to test my buildbot gtest command.
- Apologies in advance for the noise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74530
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 16:02:47 +0000 (16:02 +0000)]
Suppress may-be-used-uninitialized warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74529
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Tue, 30 Jun 2009 14:37:26 +0000 (14:37 +0000)]
Fix CMake build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74527
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Tue, 30 Jun 2009 14:12:28 +0000 (14:12 +0000)]
Fixed assert that checks return value of TlsSetValue.
See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx
Patch by Olaf Krzikalla!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74526
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 30 Jun 2009 12:18:16 +0000 (12:18 +0000)]
Fix PR4484.
This was caused by me confounding FP0 and ST(0).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74523
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 09:19:42 +0000 (09:19 +0000)]
Temporarily restore the scavenger implicit_def checking code. MachineOperand isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74519
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 08:49:04 +0000 (08:49 +0000)]
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.
The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.
This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74518
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 07:05:27 +0000 (07:05 +0000)]
Temporarily revert r74494. It was causing failures in the unit tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:27:54 +0000 (06:27 +0000)]
got confused again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:20:03 +0000 (06:20 +0000)]
fix some issues Jeff Yasskin noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74512
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 06:13:23 +0000 (06:13 +0000)]
add a note about re-evaluating end() every time through a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74511
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 05:33:46 +0000 (05:33 +0000)]
Fix the build on Cygwin. Patch by Aaron Gray.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 05:22:31 +0000 (05:22 +0000)]
remove a bogus note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74509
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jun 2009 04:20:46 +0000 (04:20 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74508
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 30 Jun 2009 04:07:12 +0000 (04:07 +0000)]
#include <iostream> is forbidden. Remove it in favor of raw_ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74507
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 30 Jun 2009 02:15:48 +0000 (02:15 +0000)]
A few more load instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74500
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Tue, 30 Jun 2009 02:12:10 +0000 (02:12 +0000)]
Array accesses are independent if the underlying arrays differ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74499
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 02:10:03 +0000 (02:10 +0000)]
llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 02:08:27 +0000 (02:08 +0000)]
llvm-mc: Rewrite binary subtraction for relocatable expressions, we can't always
legally negate an MCValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74497
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 01:49:52 +0000 (01:49 +0000)]
llvm-mc: Evaluation for relocatable expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:29:09 +0000 (01:29 +0000)]
Delete a spurious blank line at the top of the file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74495
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:28:08 +0000 (01:28 +0000)]
Define an operator<< for APInt to be used with std::ostream.
This will allow it to be used in unittests that use gtest's
EXPECT_EQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74494
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:25:30 +0000 (01:25 +0000)]
Minor formatting, whitespace, and 80-column fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74492
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 30 Jun 2009 01:24:43 +0000 (01:24 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74491
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Tue, 30 Jun 2009 01:02:20 +0000 (01:02 +0000)]
Enhance tests to include shifted-register operand testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74490
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Tue, 30 Jun 2009 00:49:23 +0000 (00:49 +0000)]
Normalize SourceMgr messages.
- Don't print "Parsing" in front of every message.
- Take additional "type" argument which is prepended to the message (with ": ")
if given.
- Update clients to print errors (warnings) as:
<filename>:<line number>: error(warning): ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74489
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 30 Jun 2009 00:48:55 +0000 (00:48 +0000)]
Add LLVMContext, which will eventually be used as a container for privatizing a lot of (currently) global state, including the
constant and type uniquing tables. For now, just make it a wrapper around the existing APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74488
91177308-0d34-0410-b5e6-
96231b3b80d8