Nick Lewycky
8a8d479214
Move global variables in TargetMachine into new TargetOptions class. As an API
...
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-02 22:16:29 +00:00
Dylan Noblesmith
a930f3d8a3
TargetMachine: document unnamed bool argument
...
Its meaning was slightly mysterious without looking at
subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145705 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-02 20:53:57 +00:00
Chad Rosier
aab8e28d5e
Fix a few more places where TargetData/TargetLibraryInfo is not being passed.
...
Add FIXMEs to places that are non-trivial to fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145661 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-02 01:26:24 +00:00
Dylan Noblesmith
d95e67dac0
ExecutionEngine: honor optimization level
...
It was getting ignored after r144788.
Also fix an accidental implicit cast from the OptLevel enum
to an optional bool argument. MSVC warned on this, but gcc
didn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145633 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 21:49:21 +00:00
Anshuman Dasgupta
dc81e5da27
Add a deterministic finite automaton based packetizer for VLIW architectures
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145629 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 21:10:21 +00:00
Chad Rosier
32b6c59ad0
Add a few more functions to TargetLibraryInfo. More of rdar://10500969.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145596 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 17:54:37 +00:00
David Blaikie
0becc96b24
Add some missing anchors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145578 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 08:00:17 +00:00
Chad Rosier
618c1dbd29
Propagate TargetLibraryInfo throughout ConstantFolding.cpp and
...
InstructionSimplify.cpp. Other fixups as needed.
Part of rdar://10500969
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 03:08:23 +00:00
Kostya Serebryany
af65a8c54b
make asan work at -O0, llvm part. Patch by glider@google.com
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145530 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30 22:19:26 +00:00
Jan Sjödin
dd649e35e5
Support for encoding all FMA4 instructions and tablegen patterns for all
...
remaining FMA4 instructions and intrinsics with tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145525 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30 22:09:42 +00:00
Chad Rosier
8ff4115ef0
Add a few functions to TargetLibraryInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145508 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30 19:19:00 +00:00
Andrew Trick
553fe05f23
LSR: handle the expansion of phi operands that use postinc forms of the IV.
...
Fixes PR11431: SCEVExpander::expandAddRecExprLiterally(const llvm::SCEVAddRecExpr*): Assertion `(!isa<Instruction>(Result) || SE.DT->dominates(cast<Instruction>(Result), Builder.GetInsertPoint())) && "postinc expansion does not dominate use"' failed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145482 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30 06:07:54 +00:00
Chad Rosier
683e47b1dd
Alphabetize TargetLibraryInfo enum and fix doxygen comments. No functional
...
change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145468 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30 01:51:49 +00:00
Chad Rosier
3d925d24e8
Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo. Disable
...
(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is
specified.
rdar://10466410
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145460 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 23:57:10 +00:00
Chad Rosier
ae6f2cb1fc
If fast-isel fails, remove dead instructions generated during the failed
...
attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145425 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 19:40:47 +00:00
Michael J. Spencer
116bc795da
MC/X86/COFF: Allow quotes in names when targeting MS/Windows,
...
as MC is the only assembler we support.
This splits MS/Windows and GNU/Windows ASM infos into two seperate classes.
While there is currently only one difference, full MS C++ ABI support will
require many more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145409 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 18:00:06 +00:00
Danil Malyshev
b0436a7305
Fixed ObjectFile functions:
...
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145408 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 17:40:10 +00:00
Daniel Dunbar
72736d1aa3
llvm-c: Add a few missing InitializeAll* functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29 00:06:55 +00:00
Bill Wendling
c80383095e
Remove dead llvm.eh.sjlj.dispatchsetup intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145263 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 19:23:13 +00:00
Andrew Trick
ed38f1ca2e
Remove the temporary flag -disable-unroll-scev and dead code.
...
SCEV should now be used for trip count analysis, not LoopInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145262 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 19:22:09 +00:00
Benjamin Kramer
39a2eb7dea
Handle more cases in APInt::getLowBitsSet's fast path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145249 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 16:56:38 +00:00
NAKAMURA Takumi
c73f3d1ce7
configure, config.h.in: Regenerate.
...
config.h.cmake: Synchronize to config.h.in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145217 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 01:07:19 +00:00
Dylan Noblesmith
38831b014a
use llvm-config.h in public header
...
The config.h file's macros collide with other projects that include
LLVM and shouldn't get exported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145215 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 00:49:01 +00:00
Dylan Noblesmith
08b73a30bb
rename ENABLE_THREADS to LLVM_ENABLE_THREADS
...
Now that it needs to be exported in a public header (Valgrind.h)
it should be prefixed to avoid collision with other projects.
Add it to llvm-config.h as well.
This'll require regenerating the configure script after this
commit, but I don't have the required autoconf version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145214 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 00:48:58 +00:00
Dylan Noblesmith
81818fc770
update description of LLVM_DEFAULT_TARGET_TRIPLE
...
It was out of sync with the description in configure.ac/config.h.in.
Also re-alphabetize it from its position when it was LLVM_HOST_TRIPLE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145213 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28 00:48:53 +00:00
Chandler Carruth
790552c20f
Revert r145180 as it is causing test failures on all the bots.
...
Original commit message:
Fixed ObjectFile functions:
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145182 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 10:37:47 +00:00
Danil Malyshev
9b24738bd1
Fixed ObjectFile functions:
...
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145180 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 10:12:52 +00:00
Chris Lattner
a7e6f74631
remove autoupgrade support for really old-style debug info intrinsics.
...
I think this is the last of autoupgrade that can be removed in 3.1.
Can the atomic upgrade stuff also go?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145169 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 06:18:33 +00:00
Chris Lattner
9d5f6ccd26
remove autoupgrade support for LLVM 2.9 exception stuff. Mainline supports
...
LLVM 3.0 and later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145165 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 05:56:16 +00:00
Chris Lattner
dbc88494ee
remove support for reading llvm 2.9 .bc files. LLVM 3.1 is only compatible back to 3.0
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145164 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 05:48:27 +00:00
Bruno Cardoso Lopes
1b9b377975
This patch contains support for encoding FMA4 instructions and
...
tablegen patterns for scalar FMA4 operations and intrinsic. Also
add tests for vfmaddsd.
Patch by Jan Sjodin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145133 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-25 19:33:42 +00:00
Benjamin Kramer
8a42633273
Devirtualize Pass::getPassID, overriding it isn't useful and it gets called a lot.
...
While at it pull the trivial ctor in line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145124 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-24 21:14:11 +00:00
Akira Hatanaka
84bfc2f090
This patch addresses gp relative fixups/relocations for jump tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145112 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-23 22:18:04 +00:00
Benjamin Kramer
5745fbce16
Add configure checking for pread(2) and use it to save a syscall when reading files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145061 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-22 12:31:53 +00:00
Sebastian Pop
1d4bf66d6e
fix typo in comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145048 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-21 20:46:55 +00:00
Nick Lewycky
6935b78e6f
Add virtual destructor. Whoops!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145044 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-21 18:32:21 +00:00
Nick Lewycky
7912ef97ff
Less template, more virtual! Refactoring suggested by Chris in code review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145014 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-20 19:37:06 +00:00
Nick Lewycky
173862e546
Refactor code to use new attribute getters on CallSite for NoCapture and ByVal.
...
Suggested in code review by Eli.
That code in InstCombine looks kinda suspicious.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145013 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-20 19:09:04 +00:00
Chandler Carruth
a91a3e0489
Make an obviously const interface actually be marked as const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145009 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-20 11:22:03 +00:00
Devang Patel
ce35d8b5a1
DISubrange supports unsigned lower/upper array bounds, so let's not fake it in the end while emitting DWARF. If a FE needs to encode signed lower/upper array bounds then we need to extend DISubrange or ad DISignedSubrange.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144937 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17 23:43:15 +00:00
Ted Kremenek
f249449539
Fix bug in RefCountedBase/RefCountedBaseVPTR where the reference count was accidentally copied as part of the copy constructor. This could result in objects getting leaked because there reference count was too high.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144931 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17 23:02:14 +00:00
Eli Friedman
9d434dbff3
Add support for custom names for library functions in TargetLibraryInfo. Add a custom name for fwrite and fputs on x86-32 OSX. Make SimplifyLibCalls honor the custom
...
names for fwrite and fputs.
Fixes <rdar://problem/9815881>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144876 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-17 01:27:36 +00:00
Evan Cheng
b95fc31aa2
Sink codegen optimization level into MCCodeGenInfo along side relocation model
...
and code model. This eliminates the need to pass OptLevel flag all over the
place and makes it possible for any codegen pass to use this information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144788 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 08:38:26 +00:00
Michael J. Spencer
a9a4f5eda8
Remove extra ,.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144759 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:36:50 +00:00
Kostya Serebryany
800e03f598
AddressSanitizer, first commit (compiler module only)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144758 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:35:23 +00:00
Michael J. Spencer
8a2549febc
Object/Archive: Give Child a operator < for map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144757 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:25:13 +00:00
Michael J. Spencer
dc296639d9
Support/COFF: Add structs and enums from the standard for image files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144756 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:24:57 +00:00
Owen Anderson
99aa14ff64
Rename MVT::untyped to MVT::Untyped to match similar nomenclature.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144747 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-16 01:02:57 +00:00
Benjamin Kramer
b5ccb25bc2
StringRefize and simplify.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144675 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15 19:12:09 +00:00
Benjamin Kramer
2bbb7e3ca6
Remove Value::getNameStr. It has been deprecated for a while and provides no additional value over getName().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144657 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-15 18:30:12 +00:00